<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE CPP #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE NoImplicitPrelude #-}</span><span>
</span><span id="line-3"></span><span class="hs-pragma">{-# LANGUAGE BangPatterns #-}</span><span>
</span><span id="line-4"></span><span class="hs-pragma">{-# LANGUAGE MagicHash #-}</span><span>
</span><span id="line-5"></span><span class="hs-pragma">{-# LANGUAGE UnboxedTuples #-}</span><span>
</span><span id="line-6"></span><span class="hs-pragma">{-# LANGUAGE NegativeLiterals #-}</span><span>
</span><span id="line-7"></span><span class="hs-pragma">{-# LANGUAGE BinaryLiterals #-}</span><span>
</span><span id="line-8"></span><span class="hs-pragma">{-# LANGUAGE BlockArguments #-}</span><span>
</span><span id="line-9"></span><span class="hs-pragma">{-# LANGUAGE LambdaCase #-}</span><span>
</span><span id="line-10"></span><span>
</span><span id="line-11"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-12"></span><span class="hs-comment">-- Module      :  GHC.Num.Integer</span><span>
</span><span id="line-13"></span><span class="hs-comment">-- Copyright   :  (c) Sylvain Henry 2019,</span><span>
</span><span id="line-14"></span><span class="hs-comment">--                (c) Herbert Valerio Riedel 2014</span><span>
</span><span id="line-15"></span><span class="hs-comment">-- License     :  BSD3</span><span>
</span><span id="line-16"></span><span class="hs-comment">--</span><span>
</span><span id="line-17"></span><span class="hs-comment">-- Maintainer  :  sylvain@haskus.fr</span><span>
</span><span id="line-18"></span><span class="hs-comment">-- Stability   :  provisional</span><span>
</span><span id="line-19"></span><span class="hs-comment">-- Portability :  non-portable (GHC Extensions)</span><span>
</span><span id="line-20"></span><span class="hs-comment">--</span><span>
</span><span id="line-21"></span><span class="hs-comment">-- The 'Integer' type.</span><span>
</span><span id="line-22"></span><span>
</span><span id="line-23"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Num.Integer</span><span> </span><span class="hs-keyword">where</span><span class="hs-cpp">

#include &quot;MachDeps.h&quot;
</span><span class="hs-cpp">#include &quot;WordSize.h&quot;
</span><span>
</span><span id="line-28"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#"><span class="hs-identifier">GHC.Prim</span></a></span><span>
</span><span id="line-29"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#"><span class="hs-identifier">GHC.Types</span></a></span><span>
</span><span id="line-30"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#"><span class="hs-identifier">GHC.Classes</span></a></span><span>
</span><span id="line-31"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Magic.html#"><span class="hs-identifier">GHC.Magic</span></a></span><span>
</span><span id="line-32"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html"><span class="hs-identifier">GHC.Num.Primitives</span></a></span><span>
</span><span id="line-33"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.BigNat.html"><span class="hs-identifier">GHC.Num.BigNat</span></a></span><span>
</span><span id="line-34"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html"><span class="hs-identifier">GHC.Num.Natural</span></a></span><span>
</span><span id="line-35"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="GHC.Num.Backend.html"><span class="hs-identifier">GHC.Num.Backend</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Backend</span></span><span class="hs-cpp">

#if WORD_SIZE_IN_BITS &lt; 64
</span><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">GHC.IntWord64</span><span class="hs-cpp">
#endif
</span><span>
</span><span id="line-41"></span><span class="hs-keyword">default</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-42"></span><span>
</span><span id="line-43"></span><span class="hs-comment">-- | Arbitrary precision integers. In contrast with fixed-size integral types</span><span>
</span><span id="line-44"></span><span class="hs-comment">-- such as 'Int', the 'Integer' type represents the entire infinite range of</span><span>
</span><span id="line-45"></span><span class="hs-comment">-- integers.</span><span>
</span><span id="line-46"></span><span class="hs-comment">--</span><span>
</span><span id="line-47"></span><span class="hs-comment">-- Integers are stored in a kind of sign-magnitude form, hence do not expect</span><span>
</span><span id="line-48"></span><span class="hs-comment">-- two's complement form when using bit operations.</span><span>
</span><span id="line-49"></span><span class="hs-comment">--</span><span>
</span><span id="line-50"></span><span class="hs-comment">-- If the value is small (fit into an 'Int'), 'IS' constructor is used.</span><span>
</span><span id="line-51"></span><span class="hs-comment">-- Otherwise 'IP' and 'IN' constructors are used to store a 'BigNat'</span><span>
</span><span id="line-52"></span><span class="hs-comment">-- representing respectively the positive or the negative value magnitude.</span><span>
</span><span id="line-53"></span><span class="hs-comment">--</span><span>
</span><span id="line-54"></span><span class="hs-comment">-- Invariant: 'IP' and 'IN' are used iff value doesn't fit in 'IS'</span><span>
</span><span id="line-55"></span><span class="hs-keyword">data</span><span> </span><span id="Integer"><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-var">Integer</span></a></span></span><span>
</span><span id="line-56"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span id="IS"><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span></span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>    </span><span class="hs-comment">-- ^ iff value in @[minBound::'Int', maxBound::'Int']@ range</span><span>
</span><span id="line-57"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span id="IP"><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span></span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="GHC.Num.BigNat.html#BigNat%23"><span class="hs-identifier hs-type">BigNat#</span></a></span><span> </span><span class="hs-comment">-- ^ iff value in @]maxBound::'Int', +inf[@ range</span><span>
</span><span id="line-58"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span id="IN"><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span></span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="GHC.Num.BigNat.html#BigNat%23"><span class="hs-identifier hs-type">BigNat#</span></a></span><span> </span><span class="hs-comment">-- ^ iff value in @]-inf, minBound::'Int'[@ range</span><span>
</span><span id="line-59"></span><span>
</span><span id="line-60"></span><span>
</span><span id="line-61"></span><span class="hs-comment">-- | Check Integer invariants</span><span>
</span><span id="line-62"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCheck%23"><span class="hs-identifier hs-type">integerCheck#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-63"></span><span id="integerCheck%23"><span class="annot"><span class="annottext">integerCheck# :: Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerCheck%23"><span class="hs-identifier hs-var hs-var">integerCheck#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span>  </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-64"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCheck%23"><span class="hs-identifier hs-var">integerCheck#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035238"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035238"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatCheck%23"><span class="hs-identifier hs-var">bigNatCheck#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035238"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#%26%26%23"><span class="hs-operator hs-var">&amp;&amp;#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035238"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatGtWord%23"><span class="hs-operator hs-var">`bigNatGtWord#`</span></a></span><span> </span><span class="hs-identifier">INT_MAXBOUND##</span><span class="hs-special">)</span><span>
</span><span id="line-65"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCheck%23"><span class="hs-identifier hs-var">integerCheck#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035234"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035234"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatCheck%23"><span class="hs-identifier hs-var">bigNatCheck#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035234"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#%26%26%23"><span class="hs-operator hs-var">&amp;&amp;#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035234"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatGtWord%23"><span class="hs-operator hs-var">`bigNatGtWord#`</span></a></span><span> </span><span class="hs-identifier">ABS_INT_MINBOUND##</span><span class="hs-special">)</span><span>
</span><span id="line-66"></span><span>
</span><span id="line-67"></span><span class="hs-comment">-- | Check Integer invariants</span><span>
</span><span id="line-68"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCheck"><span class="hs-identifier hs-type">integerCheck</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-69"></span><span id="integerCheck"><span class="annot"><span class="annottext">integerCheck :: Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerCheck"><span class="hs-identifier hs-var hs-var">integerCheck</span></a></span></span><span> </span><span id="local-6989586621679035232"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035232"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerCheck%23"><span class="hs-identifier hs-var">integerCheck#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035232"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-70"></span><span>
</span><span id="line-71"></span><span class="hs-comment">-- | Integer Zero</span><span>
</span><span id="line-72"></span><span class="annot"><a href="GHC.Num.Integer.html#integerZero"><span class="hs-identifier hs-type">integerZero</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-73"></span><span id="integerZero"><span class="annot"><span class="annottext">integerZero :: Integer
</span><a href="GHC.Num.Integer.html#integerZero"><span class="hs-identifier hs-var hs-var">integerZero</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-74"></span><span>
</span><span id="line-75"></span><span class="hs-comment">-- | Integer One</span><span>
</span><span id="line-76"></span><span class="annot"><a href="GHC.Num.Integer.html#integerOne"><span class="hs-identifier hs-type">integerOne</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-77"></span><span id="integerOne"><span class="annot"><span class="annottext">integerOne :: Integer
</span><a href="GHC.Num.Integer.html#integerOne"><span class="hs-identifier hs-var hs-var">integerOne</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-78"></span><span>
</span><span id="line-79"></span><span class="hs-comment">---------------------------------------------------------------------</span><span>
</span><span id="line-80"></span><span class="hs-comment">-- Conversions</span><span>
</span><span id="line-81"></span><span class="hs-comment">---------------------------------------------------------------------</span><span>
</span><span id="line-82"></span><span>
</span><span id="line-83"></span><span class="hs-comment">-- | Create a positive Integer from a BigNat</span><span>
</span><span id="line-84"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-type">integerFromBigNat#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.BigNat.html#BigNat%23"><span class="hs-identifier hs-type">BigNat#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-85"></span><span id="integerFromBigNat%23"><span class="annot"><span class="annottext">integerFromBigNat# :: ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var hs-var">integerFromBigNat#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035227"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035227"><span class="hs-identifier hs-var">bn</span></a></span></span><span>
</span><span id="line-86"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool
</span><a href="GHC.Num.BigNat.html#bigNatIsZero"><span class="hs-identifier hs-var">bigNatIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035227"><span class="hs-identifier hs-var">bn</span></a></span><span>
</span><span id="line-87"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerZero"><span class="hs-identifier hs-var">integerZero</span></a></span><span>
</span><span id="line-88"></span><span>
</span><span id="line-89"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035227"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatLeWord%23"><span class="hs-operator hs-var">`bigNatLeWord#`</span></a></span><span> </span><span class="hs-identifier">INT_MAXBOUND##</span><span class="hs-special">)</span><span>
</span><span id="line-90"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatIndex%23"><span class="hs-identifier hs-var">bigNatIndex#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035227"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-91"></span><span>
</span><span id="line-92"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-93"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035227"><span class="hs-identifier hs-var">bn</span></a></span><span>
</span><span id="line-94"></span><span>
</span><span id="line-95"></span><span class="hs-comment">-- | Create a negative Integer from a BigNat</span><span>
</span><span id="line-96"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-type">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.BigNat.html#BigNat%23"><span class="hs-identifier hs-type">BigNat#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-97"></span><span id="integerFromBigNatNeg%23"><span class="annot"><span class="annottext">integerFromBigNatNeg# :: ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var hs-var">integerFromBigNatNeg#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035222"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035222"><span class="hs-identifier hs-var">bn</span></a></span></span><span>
</span><span id="line-98"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool
</span><a href="GHC.Num.BigNat.html#bigNatIsZero"><span class="hs-identifier hs-var">bigNatIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035222"><span class="hs-identifier hs-var">bn</span></a></span><span>
</span><span id="line-99"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerZero"><span class="hs-identifier hs-var">integerZero</span></a></span><span>
</span><span id="line-100"></span><span>
</span><span id="line-101"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatSize%23"><span class="hs-identifier hs-var">bigNatSize#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035222"><span class="hs-identifier hs-var">bn</span></a></span><span>
</span><span id="line-102"></span><span>   </span><span class="hs-special">,</span><span> </span><span id="local-6989586621679035220"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035220"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatIndex%23"><span class="hs-identifier hs-var">bigNatIndex#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035222"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-103"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035220"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%3D%23"><span class="hs-operator hs-var">&lt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-104"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035220"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-105"></span><span>
</span><span id="line-106"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-107"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035222"><span class="hs-identifier hs-var">bn</span></a></span><span>
</span><span id="line-108"></span><span>
</span><span id="line-109"></span><span class="hs-comment">-- | Create an Integer from a sign-bit and a BigNat</span><span>
</span><span id="line-110"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromBigNatSign%23"><span class="hs-identifier hs-type">integerFromBigNatSign#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.BigNat.html#BigNat%23"><span class="hs-identifier hs-type">BigNat#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-111"></span><span id="integerFromBigNatSign%23"><span class="annot"><span class="annottext">integerFromBigNatSign# :: Bool# -&gt; ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatSign%23"><span class="hs-identifier hs-var hs-var">integerFromBigNatSign#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035218"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035218"><span class="hs-identifier hs-var">sign</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035217"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035217"><span class="hs-identifier hs-var">bn</span></a></span></span><span>
</span><span id="line-112"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035218"><span class="hs-identifier hs-var">sign</span></a></span><span>
</span><span id="line-113"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035217"><span class="hs-identifier hs-var">bn</span></a></span><span>
</span><span id="line-114"></span><span>
</span><span id="line-115"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-116"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035217"><span class="hs-identifier hs-var">bn</span></a></span><span>
</span><span id="line-117"></span><span>
</span><span id="line-118"></span><span class="hs-comment">-- | Convert an Integer into a sign-bit and a BigNat</span><span>
</span><span id="line-119"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToBigNatSign%23"><span class="hs-identifier hs-type">integerToBigNatSign#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.BigNat.html#BigNat%23"><span class="hs-identifier hs-type">BigNat#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-120"></span><span id="integerToBigNatSign%23"><span class="annot"><span class="annottext">integerToBigNatSign# :: Integer -&gt; (# Bool#, ByteArray# #)
</span><a href="GHC.Num.Integer.html#integerToBigNatSign%23"><span class="hs-identifier hs-var hs-var">integerToBigNatSign#</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-glyph">\</span><span class="hs-glyph">case</span><span>
</span><span id="line-121"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035215"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035215"><span class="hs-identifier hs-var">x</span></a></span></span><span>
</span><span id="line-122"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035215"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-123"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035215"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-124"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-125"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035215"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-126"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035213"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035213"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035213"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-127"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035212"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035212"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035212"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-128"></span><span>
</span><span id="line-129"></span><span class="hs-comment">-- | Convert an Integer into a BigNat.</span><span>
</span><span id="line-130"></span><span class="hs-comment">--</span><span>
</span><span id="line-131"></span><span class="hs-comment">-- Return 0 for negative Integers.</span><span>
</span><span id="line-132"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToBigNatClamp%23"><span class="hs-identifier hs-type">integerToBigNatClamp#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.BigNat.html#BigNat%23"><span class="hs-identifier hs-type">BigNat#</span></a></span><span>
</span><span id="line-133"></span><span id="integerToBigNatClamp%23"><span class="annot"><span class="annottext">integerToBigNatClamp# :: Integer -&gt; ByteArray#
</span><a href="GHC.Num.Integer.html#integerToBigNatClamp%23"><span class="hs-identifier hs-var hs-var">integerToBigNatClamp#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035210"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035210"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035210"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-134"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToBigNatClamp%23"><span class="hs-identifier hs-var">integerToBigNatClamp#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035209"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035209"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-135"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035209"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035209"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-136"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToBigNatClamp%23"><span class="hs-identifier hs-var">integerToBigNatClamp#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Void# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatZero%23"><span class="hs-identifier hs-var">bigNatZero#</span></a></span><span> </span><span class="annot"><span class="annottext">Void#
</span><a href="../../ghc-prim/src/GHC.Prim.html#void%23"><span class="hs-identifier hs-var">void#</span></a></span><span>
</span><span id="line-137"></span><span>
</span><span id="line-138"></span><span class="hs-comment">-- | Create an Integer from an Int#</span><span>
</span><span id="line-139"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromInt%23"><span class="hs-identifier hs-type">integerFromInt#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-140"></span><span id="integerFromInt%23"><span class="annot"><span class="annottext">integerFromInt# :: Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromInt%23"><span class="hs-identifier hs-var hs-var">integerFromInt#</span></a></span></span><span> </span><span id="local-6989586621679035206"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035206"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035206"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-141"></span><span>
</span><span id="line-142"></span><span class="hs-comment">-- | Create an Integer from an Int</span><span>
</span><span id="line-143"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromInt"><span class="hs-identifier hs-type">integerFromInt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-144"></span><span id="integerFromInt"><span class="annot"><span class="annottext">integerFromInt :: Int -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromInt"><span class="hs-identifier hs-var hs-var">integerFromInt</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679035204"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035204"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035204"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-145"></span><span>
</span><span id="line-146"></span><span class="hs-comment">-- | Truncates 'Integer' to least-significant 'Int#'</span><span>
</span><span id="line-147"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToInt%23"><span class="hs-identifier hs-type">integerToInt#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>
</span><span id="line-148"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerToInt%23"><span class="hs-pragma hs-type">integerToInt#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-149"></span><span id="integerToInt%23"><span class="annot"><span class="annottext">integerToInt# :: Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerToInt%23"><span class="hs-identifier hs-var hs-var">integerToInt#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035203"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035203"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035203"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-150"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToInt%23"><span class="hs-identifier hs-var">integerToInt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035202"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035202"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatToWord%23"><span class="hs-identifier hs-var">bigNatToWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035202"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-151"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToInt%23"><span class="hs-identifier hs-var">integerToInt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035200"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035200"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatToWord%23"><span class="hs-identifier hs-var">bigNatToWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035200"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-152"></span><span>
</span><span id="line-153"></span><span class="hs-comment">-- | Truncates 'Integer' to least-significant 'Int#'</span><span>
</span><span id="line-154"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToInt"><span class="hs-identifier hs-type">integerToInt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span>
</span><span id="line-155"></span><span id="integerToInt"><span class="annot"><span class="annottext">integerToInt :: Integer -&gt; Int
</span><a href="GHC.Num.Integer.html#integerToInt"><span class="hs-identifier hs-var hs-var">integerToInt</span></a></span></span><span> </span><span id="local-6989586621679035198"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035198"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Int
</span><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-var">I#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerToInt%23"><span class="hs-identifier hs-var">integerToInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035198"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-156"></span><span>
</span><span id="line-157"></span><span class="hs-comment">-- | Convert a Word# into an Integer</span><span>
</span><span id="line-158"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-type">integerFromWord#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-159"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-pragma hs-type">integerFromWord#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-160"></span><span id="integerFromWord%23"><span class="annot"><span class="annottext">integerFromWord# :: Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-var hs-var">integerFromWord#</span></a></span></span><span> </span><span id="local-6989586621679035197"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035197"><span class="hs-identifier hs-var">w</span></a></span></span><span>
</span><span id="line-161"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span id="local-6989586621679035196"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035196"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035197"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-162"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035196"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-163"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035196"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-164"></span><span>
</span><span id="line-165"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-166"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035197"><span class="hs-identifier hs-var">w</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-167"></span><span>
</span><span id="line-168"></span><span class="hs-comment">-- | Convert a Word into an Integer</span><span>
</span><span id="line-169"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromWord"><span class="hs-identifier hs-type">integerFromWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-170"></span><span id="integerFromWord"><span class="annot"><span class="annottext">integerFromWord :: Word -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord"><span class="hs-identifier hs-var hs-var">integerFromWord</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679035194"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035194"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-var">integerFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035194"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-171"></span><span>
</span><span id="line-172"></span><span class="hs-comment">-- | Create a negative Integer with the given Word magnitude</span><span>
</span><span id="line-173"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromWordNeg%23"><span class="hs-identifier hs-type">integerFromWordNeg#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-174"></span><span id="integerFromWordNeg%23"><span class="annot"><span class="annottext">integerFromWordNeg# :: Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWordNeg%23"><span class="hs-identifier hs-var hs-var">integerFromWordNeg#</span></a></span></span><span> </span><span id="local-6989586621679035192"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035192"><span class="hs-identifier hs-var">w</span></a></span></span><span>
</span><span id="line-175"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035192"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#leWord%23"><span class="hs-operator hs-var">`leWord#`</span></a></span><span> </span><span class="hs-identifier">ABS_INT_MINBOUND##</span><span class="hs-special">)</span><span>
</span><span id="line-176"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035192"><span class="hs-identifier hs-var">w</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-177"></span><span>
</span><span id="line-178"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-179"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035192"><span class="hs-identifier hs-var">w</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-180"></span><span>
</span><span id="line-181"></span><span class="hs-comment">-- | Create an Integer from a sign and a Word magnitude</span><span>
</span><span id="line-182"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromWordSign%23"><span class="hs-identifier hs-type">integerFromWordSign#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-183"></span><span id="integerFromWordSign%23"><span class="annot"><span class="annottext">integerFromWordSign# :: Bool# -&gt; Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWordSign%23"><span class="hs-identifier hs-var hs-var">integerFromWordSign#</span></a></span></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span id="local-6989586621679035190"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035190"><span class="hs-identifier hs-var">w</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-var">integerFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035190"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-184"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromWordSign%23"><span class="hs-identifier hs-var">integerFromWordSign#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span>  </span><span id="local-6989586621679035189"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035189"><span class="hs-identifier hs-var">w</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWordNeg%23"><span class="hs-identifier hs-var">integerFromWordNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035189"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-185"></span><span>
</span><span id="line-186"></span><span class="hs-comment">-- | Truncate an Integer into a Word</span><span>
</span><span id="line-187"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToWord%23"><span class="hs-identifier hs-type">integerToWord#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-188"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerToWord%23"><span class="hs-pragma hs-type">integerToWord#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-189"></span><span id="integerToWord%23"><span class="annot"><span class="annottext">integerToWord# :: Integer -&gt; Word#
</span><a href="GHC.Num.Integer.html#integerToWord%23"><span class="hs-identifier hs-var hs-var">integerToWord#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035188"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035188"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035188"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-190"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToWord%23"><span class="hs-identifier hs-var">integerToWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035187"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035187"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatToWord%23"><span class="hs-identifier hs-var">bigNatToWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035187"><span class="hs-identifier hs-var">bn</span></a></span><span>
</span><span id="line-191"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToWord%23"><span class="hs-identifier hs-var">integerToWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035186"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035186"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatToWord%23"><span class="hs-identifier hs-var">bigNatToWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035186"><span class="hs-identifier hs-var">bn</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-192"></span><span>
</span><span id="line-193"></span><span class="hs-comment">-- | Truncate an Integer into a Word</span><span>
</span><span id="line-194"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToWord"><span class="hs-identifier hs-type">integerToWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-195"></span><span id="integerToWord"><span class="annot"><span class="annottext">integerToWord :: Integer -&gt; Word
</span><a href="GHC.Num.Integer.html#integerToWord"><span class="hs-identifier hs-var hs-var">integerToWord</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035184"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035184"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Word#
</span><a href="GHC.Num.Integer.html#integerToWord%23"><span class="hs-identifier hs-var">integerToWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035184"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-196"></span><span>
</span><span id="line-197"></span><span class="hs-comment">-- | Convert a Natural into an Integer</span><span>
</span><span id="line-198"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromNatural"><span class="hs-identifier hs-type">integerFromNatural</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-199"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerFromNatural"><span class="hs-pragma hs-type">integerFromNatural</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-200"></span><span id="integerFromNatural"><span class="annot"><span class="annottext">integerFromNatural :: Natural -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromNatural"><span class="hs-identifier hs-var hs-var">integerFromNatural</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NS"><span class="hs-identifier hs-type">NS</span></a></span><span> </span><span id="local-6989586621679035183"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035183"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-var">integerFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035183"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-201"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromNatural"><span class="hs-identifier hs-var">integerFromNatural</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Natural.html#NB"><span class="hs-identifier hs-type">NB</span></a></span><span> </span><span id="local-6989586621679035182"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035182"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035182"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-202"></span><span>
</span><span id="line-203"></span><span class="hs-comment">-- | Convert a list of Word into an Integer</span><span>
</span><span id="line-204"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromWordList"><span class="hs-identifier hs-type">integerFromWordList</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-205"></span><span id="integerFromWordList"><span class="annot"><span class="annottext">integerFromWordList :: Bool -&gt; [Word] -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWordList"><span class="hs-identifier hs-var hs-var">integerFromWordList</span></a></span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>  </span><span id="local-6989586621679035180"><span class="annot"><span class="annottext">[Word]
</span><a href="#local-6989586621679035180"><span class="hs-identifier hs-var">ws</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Word] -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWordList"><span class="hs-identifier hs-var">bigNatFromWordList</span></a></span><span> </span><span class="annot"><span class="annottext">[Word]
</span><a href="#local-6989586621679035180"><span class="hs-identifier hs-var">ws</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-206"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromWordList"><span class="hs-identifier hs-var">integerFromWordList</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span> </span><span id="local-6989586621679035178"><span class="annot"><span class="annottext">[Word]
</span><a href="#local-6989586621679035178"><span class="hs-identifier hs-var">ws</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Word] -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWordList"><span class="hs-identifier hs-var">bigNatFromWordList</span></a></span><span> </span><span class="annot"><span class="annottext">[Word]
</span><a href="#local-6989586621679035178"><span class="hs-identifier hs-var">ws</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-207"></span><span>
</span><span id="line-208"></span><span class="hs-comment">-- | Convert an Integer into a Natural</span><span>
</span><span id="line-209"></span><span class="hs-comment">--</span><span>
</span><span id="line-210"></span><span class="hs-comment">-- Return 0 for negative Integers.</span><span>
</span><span id="line-211"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToNaturalClamp"><span class="hs-identifier hs-type">integerToNaturalClamp</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-212"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerToNaturalClamp"><span class="hs-pragma hs-type">integerToNaturalClamp</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-213"></span><span id="integerToNaturalClamp"><span class="annot"><span class="annottext">integerToNaturalClamp :: Integer -&gt; Natural
</span><a href="GHC.Num.Integer.html#integerToNaturalClamp"><span class="hs-identifier hs-var hs-var">integerToNaturalClamp</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035177"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035177"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-214"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035177"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="GHC.Num.Natural.html#naturalZero"><span class="hs-identifier hs-var">naturalZero</span></a></span><span>
</span><span id="line-215"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromWord%23"><span class="hs-identifier hs-var">naturalFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035177"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-216"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToNaturalClamp"><span class="hs-identifier hs-var">integerToNaturalClamp</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035174"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035174"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035174"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-217"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToNaturalClamp"><span class="hs-identifier hs-var">integerToNaturalClamp</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="GHC.Num.Natural.html#naturalZero"><span class="hs-identifier hs-var">naturalZero</span></a></span><span>
</span><span id="line-218"></span><span>
</span><span id="line-219"></span><span class="hs-comment">-- | Convert an Integer into a Natural</span><span>
</span><span id="line-220"></span><span class="hs-comment">--</span><span>
</span><span id="line-221"></span><span class="hs-comment">-- Return absolute value</span><span>
</span><span id="line-222"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToNatural"><span class="hs-identifier hs-type">integerToNatural</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-223"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerToNatural"><span class="hs-pragma hs-type">integerToNatural</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-224"></span><span id="integerToNatural"><span class="annot"><span class="annottext">integerToNatural :: Integer -&gt; Natural
</span><a href="GHC.Num.Integer.html#integerToNatural"><span class="hs-identifier hs-var hs-var">integerToNatural</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035172"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035172"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromWord%23"><span class="hs-identifier hs-var">naturalFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#wordFromAbsInt%23"><span class="hs-identifier hs-var">wordFromAbsInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035172"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-225"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToNatural"><span class="hs-identifier hs-var">integerToNatural</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035170"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035170"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035170"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-226"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToNatural"><span class="hs-identifier hs-var">integerToNatural</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035169"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035169"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035169"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-227"></span><span>
</span><span id="line-228"></span><span class="hs-comment">-- | Convert an Integer into a Natural</span><span>
</span><span id="line-229"></span><span class="hs-comment">--</span><span>
</span><span id="line-230"></span><span class="hs-comment">-- Throw an Underflow exception if input is negative.</span><span>
</span><span id="line-231"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToNaturalThrow"><span class="hs-identifier hs-type">integerToNaturalThrow</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-232"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerToNaturalThrow"><span class="hs-pragma hs-type">integerToNaturalThrow</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-233"></span><span id="integerToNaturalThrow"><span class="annot"><span class="annottext">integerToNaturalThrow :: Integer -&gt; Natural
</span><a href="GHC.Num.Integer.html#integerToNaturalThrow"><span class="hs-identifier hs-var hs-var">integerToNaturalThrow</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035168"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035168"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-234"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035168"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
forall a. a
</span><a href="../../ghc-prim/src/GHC.Prim.Exception.html#raiseUnderflow"><span class="hs-identifier hs-var">raiseUnderflow</span></a></span><span>
</span><span id="line-235"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromWord%23"><span class="hs-identifier hs-var">naturalFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035168"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-236"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToNaturalThrow"><span class="hs-identifier hs-var">integerToNaturalThrow</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035167"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035167"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Natural
</span><a href="GHC.Num.Natural.html#naturalFromBigNat%23"><span class="hs-identifier hs-var">naturalFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035167"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-237"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToNaturalThrow"><span class="hs-identifier hs-var">integerToNaturalThrow</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural
forall a. a
</span><a href="../../ghc-prim/src/GHC.Prim.Exception.html#raiseUnderflow"><span class="hs-identifier hs-var">raiseUnderflow</span></a></span><span>
</span><span id="line-238"></span><span>
</span><span id="line-239"></span><span class="hs-comment">---------------------------------------------------------------------</span><span>
</span><span id="line-240"></span><span class="hs-comment">-- Predicates</span><span>
</span><span id="line-241"></span><span class="hs-comment">---------------------------------------------------------------------</span><span>
</span><span id="line-242"></span><span>
</span><span id="line-243"></span><span class="hs-comment">-- | Negative predicate</span><span>
</span><span id="line-244"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsNegative%23"><span class="hs-identifier hs-type">integerIsNegative#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-245"></span><span id="integerIsNegative%23"><span class="annot"><span class="annottext">integerIsNegative# :: Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerIsNegative%23"><span class="hs-identifier hs-var hs-var">integerIsNegative#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035165"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035165"><span class="hs-identifier hs-var">i#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035165"><span class="hs-identifier hs-var">i#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-246"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsNegative%23"><span class="hs-identifier hs-var">integerIsNegative#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-247"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsNegative%23"><span class="hs-identifier hs-var">integerIsNegative#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-248"></span><span>
</span><span id="line-249"></span><span class="hs-comment">-- | Negative predicate</span><span>
</span><span id="line-250"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsNegative"><span class="hs-identifier hs-type">integerIsNegative</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-251"></span><span id="integerIsNegative"><span class="annot"><span class="annottext">integerIsNegative :: Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsNegative"><span class="hs-identifier hs-var hs-var">integerIsNegative</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035163"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035163"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerIsNegative%23"><span class="hs-identifier hs-var">integerIsNegative#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035163"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-252"></span><span>
</span><span id="line-253"></span><span class="hs-comment">-- | Zero predicate</span><span>
</span><span id="line-254"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsZero"><span class="hs-identifier hs-type">integerIsZero</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-255"></span><span id="integerIsZero"><span class="annot"><span class="annottext">integerIsZero :: Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsZero"><span class="hs-identifier hs-var hs-var">integerIsZero</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-256"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsZero"><span class="hs-identifier hs-var">integerIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-257"></span><span>
</span><span id="line-258"></span><span class="hs-comment">-- | One predicate</span><span>
</span><span id="line-259"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsOne"><span class="hs-identifier hs-type">integerIsOne</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-260"></span><span id="integerIsOne"><span class="annot"><span class="annottext">integerIsOne :: Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsOne"><span class="hs-identifier hs-var hs-var">integerIsOne</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-261"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsOne"><span class="hs-identifier hs-var">integerIsOne</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-262"></span><span>
</span><span id="line-263"></span><span class="hs-comment">-- | Not-equal predicate.</span><span>
</span><span id="line-264"></span><span class="annot"><a href="GHC.Num.Integer.html#integerNe"><span class="hs-identifier hs-type">integerNe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-265"></span><span id="integerNe"><span class="annot"><span class="annottext">integerNe :: Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerNe"><span class="hs-identifier hs-var hs-var">integerNe</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035159"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035159"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035158"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035158"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerNe%23"><span class="hs-identifier hs-var">integerNe#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035159"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035158"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-266"></span><span>
</span><span id="line-267"></span><span class="hs-comment">-- | Equal predicate.</span><span>
</span><span id="line-268"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEq"><span class="hs-identifier hs-type">integerEq</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-269"></span><span id="integerEq"><span class="annot"><span class="annottext">integerEq :: Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerEq"><span class="hs-identifier hs-var hs-var">integerEq</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035156"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035156"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035155"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035155"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerEq%23"><span class="hs-identifier hs-var">integerEq#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035156"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035155"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-270"></span><span>
</span><span id="line-271"></span><span class="hs-comment">-- | Lower-or-equal predicate.</span><span>
</span><span id="line-272"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLe"><span class="hs-identifier hs-type">integerLe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-273"></span><span id="integerLe"><span class="annot"><span class="annottext">integerLe :: Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerLe"><span class="hs-identifier hs-var hs-var">integerLe</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035153"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035153"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035152"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035152"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerLe%23"><span class="hs-identifier hs-var">integerLe#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035153"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035152"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-274"></span><span>
</span><span id="line-275"></span><span class="hs-comment">-- | Lower predicate.</span><span>
</span><span id="line-276"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLt"><span class="hs-identifier hs-type">integerLt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-277"></span><span id="integerLt"><span class="annot"><span class="annottext">integerLt :: Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerLt"><span class="hs-identifier hs-var hs-var">integerLt</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035150"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035150"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035149"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035149"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerLt%23"><span class="hs-identifier hs-var">integerLt#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035150"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035149"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-278"></span><span>
</span><span id="line-279"></span><span class="hs-comment">-- | Greater predicate.</span><span>
</span><span id="line-280"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGt"><span class="hs-identifier hs-type">integerGt</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-281"></span><span id="integerGt"><span class="annot"><span class="annottext">integerGt :: Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerGt"><span class="hs-identifier hs-var hs-var">integerGt</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035147"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035147"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035146"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035146"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerGt%23"><span class="hs-identifier hs-var">integerGt#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035147"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035146"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-282"></span><span>
</span><span id="line-283"></span><span class="hs-comment">-- | Greater-or-equal predicate.</span><span>
</span><span id="line-284"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGe"><span class="hs-identifier hs-type">integerGe</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-285"></span><span id="integerGe"><span class="annot"><span class="annottext">integerGe :: Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerGe"><span class="hs-identifier hs-var hs-var">integerGe</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035144"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035144"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035143"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035143"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerGe%23"><span class="hs-identifier hs-var">integerGe#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035144"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035143"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-286"></span><span>
</span><span id="line-287"></span><span class="hs-comment">-- | Equal predicate.</span><span>
</span><span id="line-288"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEq%23"><span class="hs-identifier hs-type">integerEq#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-289"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerEq%23"><span class="hs-pragma hs-type">integerEq#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-290"></span><span id="integerEq%23"><span class="annot"><span class="annottext">integerEq# :: Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerEq%23"><span class="hs-identifier hs-var hs-var">integerEq#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035142"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035142"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035141"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035141"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035142"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035141"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-291"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEq%23"><span class="hs-identifier hs-var">integerEq#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035140"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035140"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035139"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035139"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatEq%23"><span class="hs-identifier hs-var">bigNatEq#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035140"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035139"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-292"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEq%23"><span class="hs-identifier hs-var">integerEq#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035137"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035137"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035136"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035136"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatEq%23"><span class="hs-identifier hs-var">bigNatEq#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035137"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035136"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-293"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEq%23"><span class="hs-identifier hs-var">integerEq#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>       </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-294"></span><span>
</span><span id="line-295"></span><span class="hs-comment">-- | Not-equal predicate.</span><span>
</span><span id="line-296"></span><span class="annot"><a href="GHC.Num.Integer.html#integerNe%23"><span class="hs-identifier hs-type">integerNe#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-297"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerNe%23"><span class="hs-pragma hs-type">integerNe#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-298"></span><span id="integerNe%23"><span class="annot"><span class="annottext">integerNe# :: Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerNe%23"><span class="hs-identifier hs-var hs-var">integerNe#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035135"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035135"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035134"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035134"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035135"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%2F%3D%23"><span class="hs-operator hs-var">/=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035134"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-299"></span><span class="annot"><a href="GHC.Num.Integer.html#integerNe%23"><span class="hs-identifier hs-var">integerNe#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035133"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035133"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035132"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035132"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatNe%23"><span class="hs-identifier hs-var">bigNatNe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035133"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035132"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-300"></span><span class="annot"><a href="GHC.Num.Integer.html#integerNe%23"><span class="hs-identifier hs-var">integerNe#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035130"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035130"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035129"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035129"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatNe%23"><span class="hs-identifier hs-var">bigNatNe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035130"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035129"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-301"></span><span class="annot"><a href="GHC.Num.Integer.html#integerNe%23"><span class="hs-identifier hs-var">integerNe#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>       </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-302"></span><span>
</span><span id="line-303"></span><span class="hs-comment">-- | Greater predicate.</span><span>
</span><span id="line-304"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGt%23"><span class="hs-identifier hs-type">integerGt#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-305"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerGt%23"><span class="hs-pragma hs-type">integerGt#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-306"></span><span id="integerGt%23"><span class="annot"><span class="annottext">integerGt# :: Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerGt%23"><span class="hs-identifier hs-var hs-var">integerGt#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035128"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035128"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035127"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035127"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>                   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035128"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035127"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-307"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGt%23"><span class="hs-identifier hs-var">integerGt#</span></a></span><span> </span><span id="local-6989586621679035126"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035126"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679035125"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035125"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Ordering
</span><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035126"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035125"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-308"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGt%23"><span class="hs-identifier hs-var">integerGt#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>                             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-309"></span><span>
</span><span id="line-310"></span><span class="hs-comment">-- | Lower-or-equal predicate.</span><span>
</span><span id="line-311"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLe%23"><span class="hs-identifier hs-type">integerLe#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-312"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerLe%23"><span class="hs-pragma hs-type">integerLe#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-313"></span><span id="integerLe%23"><span class="annot"><span class="annottext">integerLe# :: Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerLe%23"><span class="hs-identifier hs-var hs-var">integerLe#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035123"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035123"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035122"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035122"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>                   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035123"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%3D%23"><span class="hs-operator hs-var">&lt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035122"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-314"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLe%23"><span class="hs-identifier hs-var">integerLe#</span></a></span><span> </span><span id="local-6989586621679035121"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035121"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679035120"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035120"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Ordering
</span><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035121"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035120"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-315"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLe%23"><span class="hs-identifier hs-var">integerLe#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>                             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-316"></span><span>
</span><span id="line-317"></span><span class="hs-comment">-- | Lower predicate.</span><span>
</span><span id="line-318"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLt%23"><span class="hs-identifier hs-type">integerLt#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-319"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerLt%23"><span class="hs-pragma hs-type">integerLt#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-320"></span><span id="integerLt%23"><span class="annot"><span class="annottext">integerLt# :: Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerLt%23"><span class="hs-identifier hs-var hs-var">integerLt#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035119"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035119"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035118"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035118"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>                   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035119"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035118"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-321"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLt%23"><span class="hs-identifier hs-var">integerLt#</span></a></span><span> </span><span id="local-6989586621679035117"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035117"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679035116"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035116"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Ordering
</span><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035117"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035116"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-322"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLt%23"><span class="hs-identifier hs-var">integerLt#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>                             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-323"></span><span>
</span><span id="line-324"></span><span class="hs-comment">-- | Greater-or-equal predicate.</span><span>
</span><span id="line-325"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGe%23"><span class="hs-identifier hs-type">integerGe#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-326"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerGe%23"><span class="hs-pragma hs-type">integerGe#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-327"></span><span id="integerGe%23"><span class="annot"><span class="annottext">integerGe# :: Integer -&gt; Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerGe%23"><span class="hs-identifier hs-var hs-var">integerGe#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035115"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035115"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035114"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035114"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>                   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035115"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035114"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-328"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGe%23"><span class="hs-identifier hs-var">integerGe#</span></a></span><span> </span><span id="local-6989586621679035113"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035113"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679035112"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035112"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Ordering
</span><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035113"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035112"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-329"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGe%23"><span class="hs-identifier hs-var">integerGe#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>                             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-330"></span><span>
</span><span id="line-331"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-332"></span><span>   </span><span id="local-6989586621679035107"><span class="annot"><span class="annottext">== :: Integer -&gt; Integer -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">(==)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerEq"><span class="hs-identifier hs-var">integerEq</span></a></span><span>
</span><span id="line-333"></span><span>   </span><span id="local-6989586621679035106"><span class="annot"><span class="annottext">/= :: Integer -&gt; Integer -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">(/=)</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerNe"><span class="hs-identifier hs-var">integerNe</span></a></span><span>
</span><span id="line-334"></span><span>
</span><span id="line-335"></span><span class="hs-comment">-- | Compare two Integer</span><span>
</span><span id="line-336"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare"><span class="hs-identifier hs-type">integerCompare</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Ordering"><span class="hs-identifier hs-type">Ordering</span></a></span><span>
</span><span id="line-337"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare"><span class="hs-pragma hs-type">integerCompare</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-338"></span><span id="integerCompare"><span class="annot"><span class="annottext">integerCompare :: Integer -&gt; Integer -&gt; Ordering
</span><a href="GHC.Num.Integer.html#integerCompare"><span class="hs-identifier hs-var hs-var">integerCompare</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Ordering
</span><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span>
</span><span id="line-339"></span><span>
</span><span id="line-340"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-type">integerCompare'</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Ordering"><span class="hs-identifier hs-type">Ordering</span></a></span><span>
</span><span id="line-341"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-pragma hs-type">integerCompare'</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-342"></span><span id="integerCompare%27"><span class="annot"><span class="annottext">integerCompare' :: Integer -&gt; Integer -&gt; Ordering
</span><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var hs-var">integerCompare'</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035104"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035104"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035103"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035103"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#compareInt%23"><span class="hs-identifier hs-var">compareInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035104"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035103"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-343"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035101"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035101"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035100"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035100"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Ordering
</span><a href="GHC.Num.BigNat.html#bigNatCompare"><span class="hs-identifier hs-var">bigNatCompare</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035101"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035100"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-344"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035098"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035098"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035097"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035097"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Ordering
</span><a href="GHC.Num.BigNat.html#bigNatCompare"><span class="hs-identifier hs-var">bigNatCompare</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035097"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035098"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-345"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span>
</span><span id="line-346"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span>
</span><span id="line-347"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span>
</span><span id="line-348"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span>
</span><span id="line-349"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span>
</span><span id="line-350"></span><span class="annot"><a href="GHC.Num.Integer.html#integerCompare%27"><span class="hs-identifier hs-var">integerCompare'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span>
</span><span id="line-351"></span><span>
</span><span id="line-352"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679035086"><span id="local-6989586621679035088"><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Ord"><span class="hs-identifier hs-type">Ord</span></a></span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-353"></span><span>   </span><span id="local-6989586621679035084"><span class="annot"><span class="annottext">compare :: Integer -&gt; Integer -&gt; Ordering
</span><a href="../../ghc-prim/src/GHC.Classes.html#compare"><span class="hs-identifier hs-var hs-var hs-var hs-var">compare</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Ordering
</span><a href="GHC.Num.Integer.html#integerCompare"><span class="hs-identifier hs-var">integerCompare</span></a></span><span>
</span><span id="line-354"></span><span>   </span><span id="local-6989586621679035082"><span class="annot"><span class="annottext">&lt; :: Integer -&gt; Integer -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;)</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerLt"><span class="hs-identifier hs-var">integerLt</span></a></span><span>
</span><span id="line-355"></span><span>   </span><span id="local-6989586621679035080"><span class="annot"><span class="annottext">&lt;= :: Integer -&gt; Integer -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3C%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">(&lt;=)</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerLe"><span class="hs-identifier hs-var">integerLe</span></a></span><span>
</span><span id="line-356"></span><span>   </span><span id="local-6989586621679035078"><span class="annot"><span class="annottext">&gt; :: Integer -&gt; Integer -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E"><span class="hs-operator hs-var hs-var hs-var hs-var">(&gt;)</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerGt"><span class="hs-identifier hs-var">integerGt</span></a></span><span>
</span><span id="line-357"></span><span>   </span><span id="local-6989586621679035076"><span class="annot"><span class="annottext">&gt;= :: Integer -&gt; Integer -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3E%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">(&gt;=)</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerGe"><span class="hs-identifier hs-var">integerGe</span></a></span><span>
</span><span id="line-358"></span><span>
</span><span id="line-359"></span><span class="hs-comment">---------------------------------------------------------------------</span><span>
</span><span id="line-360"></span><span class="hs-comment">-- Operations</span><span>
</span><span id="line-361"></span><span class="hs-comment">---------------------------------------------------------------------</span><span>
</span><span id="line-362"></span><span>
</span><span id="line-363"></span><span class="hs-comment">-- | Subtract one 'Integer' from another.</span><span>
</span><span id="line-364"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-type">integerSub</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-365"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-pragma hs-type">integerSub</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-366"></span><span id="integerSub"><span class="annot"><span class="annottext">integerSub :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var hs-var">integerSub</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035075"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035075"><span class="hs-identifier hs-var">x</span></a></span></span><span>      </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035075"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-367"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var">integerSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035074"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035074"><span class="hs-identifier hs-var">x#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035073"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035073"><span class="hs-identifier hs-var">y#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-368"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; (# Bool#, Bool# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#subIntC%23"><span class="hs-identifier hs-var">subIntC#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035074"><span class="hs-identifier hs-var">x#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035073"><span class="hs-identifier hs-var">y#</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-369"></span><span>    </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679035072"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035072"><span class="hs-identifier hs-var">z#</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035072"><span class="hs-identifier hs-var">z#</span></a></span><span>
</span><span id="line-370"></span><span>    </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord2%23"><span class="hs-identifier hs-var">bigNatFromWord2#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span>
</span><span id="line-371"></span><span>    </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679035070"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035070"><span class="hs-identifier hs-var">z#</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-special">#)</span><span>
</span><span id="line-372"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035070"><span class="hs-identifier hs-var">z#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-373"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035070"><span class="hs-identifier hs-var">z#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-374"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-375"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035070"><span class="hs-identifier hs-var">z#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-376"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var">integerSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035069"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035069"><span class="hs-identifier hs-var">x#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035068"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035068"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-377"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035069"><span class="hs-identifier hs-var">x#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-378"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035068"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035069"><span class="hs-identifier hs-var">x#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-379"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-380"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035068"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035069"><span class="hs-identifier hs-var">x#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-381"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var">integerSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035065"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035065"><span class="hs-identifier hs-var">x#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035064"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035064"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-382"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035065"><span class="hs-identifier hs-var">x#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-383"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035064"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035065"><span class="hs-identifier hs-var">x#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-384"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-385"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035064"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035065"><span class="hs-identifier hs-var">x#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-386"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var">integerSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035063"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035063"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035062"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035062"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-387"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Ordering
</span><a href="GHC.Num.BigNat.html#bigNatCompare"><span class="hs-identifier hs-var">bigNatCompare</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035063"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035062"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-388"></span><span>    </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubUnsafe"><span class="hs-identifier hs-var">bigNatSubUnsafe</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035062"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035063"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-389"></span><span>    </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-390"></span><span>    </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubUnsafe"><span class="hs-identifier hs-var">bigNatSubUnsafe</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035063"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035062"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-391"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var">integerSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035060"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035060"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035059"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035059"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAdd"><span class="hs-identifier hs-var">bigNatAdd</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035060"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035059"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-392"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var">integerSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035057"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035057"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035056"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035056"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAdd"><span class="hs-identifier hs-var">bigNatAdd</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035057"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035056"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-393"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var">integerSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035055"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035055"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035054"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035054"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-394"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Ordering
</span><a href="GHC.Num.BigNat.html#bigNatCompare"><span class="hs-identifier hs-var">bigNatCompare</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035055"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035054"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-395"></span><span>    </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubUnsafe"><span class="hs-identifier hs-var">bigNatSubUnsafe</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035054"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035055"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-396"></span><span>    </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-397"></span><span>    </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubUnsafe"><span class="hs-identifier hs-var">bigNatSubUnsafe</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035055"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035054"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-398"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var">integerSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035053"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035053"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035052"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035052"><span class="hs-identifier hs-var">y#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-399"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035052"><span class="hs-identifier hs-var">y#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-400"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035053"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035052"><span class="hs-identifier hs-var">y#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-401"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-402"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035053"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035052"><span class="hs-identifier hs-var">y#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-403"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var">integerSub</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035051"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035051"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035050"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035050"><span class="hs-identifier hs-var">y#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-404"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035050"><span class="hs-identifier hs-var">y#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-405"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035051"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035050"><span class="hs-identifier hs-var">y#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-406"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-407"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035051"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035050"><span class="hs-identifier hs-var">y#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-408"></span><span>
</span><span id="line-409"></span><span class="hs-comment">-- | Add two 'Integer's</span><span>
</span><span id="line-410"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-type">integerAdd</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-411"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-pragma hs-type">integerAdd</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-412"></span><span id="integerAdd"><span class="annot"><span class="annottext">integerAdd :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var hs-var">integerAdd</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679035049"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035049"><span class="hs-identifier hs-var">x</span></a></span></span><span>      </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035049"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-413"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679035048"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035048"><span class="hs-identifier hs-var">y</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035048"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-414"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035047"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035047"><span class="hs-identifier hs-var">x#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035046"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035046"><span class="hs-identifier hs-var">y#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-415"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; (# Bool#, Bool# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#addIntC%23"><span class="hs-identifier hs-var">addIntC#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035047"><span class="hs-identifier hs-var">x#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035046"><span class="hs-identifier hs-var">y#</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-416"></span><span>    </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679035045"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035045"><span class="hs-identifier hs-var">z#</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035045"><span class="hs-identifier hs-var">z#</span></a></span><span>
</span><span id="line-417"></span><span>    </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord2%23"><span class="hs-identifier hs-var">bigNatFromWord2#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- 2*minBound::Int</span><span>
</span><span id="line-418"></span><span>    </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679035044"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035044"><span class="hs-identifier hs-var">z#</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-special">#)</span><span>
</span><span id="line-419"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035044"><span class="hs-identifier hs-var">z#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035044"><span class="hs-identifier hs-var">z#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-420"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035044"><span class="hs-identifier hs-var">z#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-421"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span id="local-6989586621679035043"><span class="annot"><span class="annottext">y :: Integer
</span><a href="#local-6989586621679035043"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679035042"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035042"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035042"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035043"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-422"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035041"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035041"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035040"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035040"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAdd"><span class="hs-identifier hs-var">bigNatAdd</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035041"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035040"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-423"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035039"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035039"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035038"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035038"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAdd"><span class="hs-identifier hs-var">bigNatAdd</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035039"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035038"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-424"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035037"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035037"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035036"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035036"><span class="hs-identifier hs-var">y#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- edge-case: @(maxBound+1) + minBound == 0@</span><span>
</span><span id="line-425"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035036"><span class="hs-identifier hs-var">y#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035037"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035036"><span class="hs-identifier hs-var">y#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-426"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035037"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span>
</span><span id="line-427"></span><span>                                                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035036"><span class="hs-identifier hs-var">y#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-428"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035035"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035035"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035034"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035034"><span class="hs-identifier hs-var">y#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- edge-case: @(minBound-1) + maxBound == -2@</span><span>
</span><span id="line-429"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035034"><span class="hs-identifier hs-var">y#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035035"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035034"><span class="hs-identifier hs-var">y#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-430"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035035"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035034"><span class="hs-identifier hs-var">y#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-431"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span id="local-6989586621679035033"><span class="annot"><span class="annottext">y :: Integer
</span><a href="#local-6989586621679035033"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679035032"><span class="annot"><span class="annottext">x :: Integer
</span><a href="#local-6989586621679035032"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035032"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035033"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-432"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035031"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035031"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035030"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035030"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-433"></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; Ordering
</span><a href="GHC.Num.BigNat.html#bigNatCompare"><span class="hs-identifier hs-var">bigNatCompare</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035031"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035030"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-434"></span><span>      </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#LT"><span class="hs-identifier hs-var">LT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubUnsafe"><span class="hs-identifier hs-var">bigNatSubUnsafe</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035030"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035031"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-435"></span><span>      </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#EQ"><span class="hs-identifier hs-var">EQ</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-436"></span><span>      </span><span class="annot"><span class="annottext">Ordering
</span><a href="../../ghc-prim/src/GHC.Types.html#GT"><span class="hs-identifier hs-var">GT</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubUnsafe"><span class="hs-identifier hs-var">bigNatSubUnsafe</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035031"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035030"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-437"></span><span>
</span><span id="line-438"></span><span class="hs-comment">-- | Multiply two 'Integer's</span><span>
</span><span id="line-439"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-type">integerMul</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-440"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-pragma hs-type">integerMul</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-441"></span><span id="integerMul"><span class="annot"><span class="annottext">integerMul :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var hs-var">integerMul</span></a></span></span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>       </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-442"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>  </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-443"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span id="local-6989586621679035029"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035029"><span class="hs-identifier hs-var">x</span></a></span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035029"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-444"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>  </span><span id="local-6989586621679035028"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035028"><span class="hs-identifier hs-var">y</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035028"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-445"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span id="local-6989586621679035027"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035027"><span class="hs-identifier hs-var">x</span></a></span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035027"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-446"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679035026"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035026"><span class="hs-identifier hs-var">y</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035026"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-cpp">
#if __GLASGOW_HASKELL__ &lt; 811
</span><span class="hs-identifier">integerMul</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">IS</span><span> </span><span class="hs-identifier">x</span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="hs-identifier">IS</span><span> </span><span class="hs-identifier">y</span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">mulIntMayOflo#</span><span> </span><span class="hs-identifier">x</span><span> </span><span class="hs-identifier">y</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-449"></span><span>   </span><span class="hs-number">0#</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IS</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">x</span><span> </span><span class="hs-operator">*#</span><span> </span><span class="hs-identifier">y</span><span class="hs-special">)</span><span>
</span><span id="line-450"></span><span>   </span><span class="hs-identifier">_</span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-identifier">isTrue#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">x</span><span> </span><span class="hs-operator">&gt;=#</span><span> </span><span class="hs-number">0#</span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">isTrue#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">y</span><span> </span><span class="hs-operator">&gt;=#</span><span> </span><span class="hs-number">0#</span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-451"></span><span>      </span><span class="hs-special">(#</span><span> </span><span class="hs-identifier">False</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">False</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">timesWord2#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">int2Word#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">negateInt#</span><span> </span><span class="hs-identifier">x</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-452"></span><span>                                       </span><span class="hs-special">(</span><span class="hs-identifier">int2Word#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">negateInt#</span><span> </span><span class="hs-identifier">y</span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-453"></span><span>          </span><span class="hs-special">(#</span><span> </span><span class="hs-number">0##</span><span class="hs-special">,</span><span class="hs-identifier">l</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">integerFromWord#</span><span> </span><span class="hs-identifier">l</span><span>
</span><span id="line-454"></span><span>          </span><span class="hs-special">(#</span><span> </span><span class="hs-identifier">h</span><span>  </span><span class="hs-special">,</span><span class="hs-identifier">l</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IP</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatFromWord2#</span><span> </span><span class="hs-identifier">h</span><span> </span><span class="hs-identifier">l</span><span class="hs-special">)</span><span>
</span><span id="line-455"></span><span>
</span><span id="line-456"></span><span>      </span><span class="hs-special">(#</span><span>  </span><span class="hs-identifier">True</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">False</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">timesWord2#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">int2Word#</span><span> </span><span class="hs-identifier">x</span><span class="hs-special">)</span><span>
</span><span id="line-457"></span><span>                                       </span><span class="hs-special">(</span><span class="hs-identifier">int2Word#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">negateInt#</span><span> </span><span class="hs-identifier">y</span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-458"></span><span>          </span><span class="hs-special">(#</span><span> </span><span class="hs-number">0##</span><span class="hs-special">,</span><span class="hs-identifier">l</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">integerFromWordNeg#</span><span> </span><span class="hs-identifier">l</span><span>
</span><span id="line-459"></span><span>          </span><span class="hs-special">(#</span><span> </span><span class="hs-identifier">h</span><span>  </span><span class="hs-special">,</span><span class="hs-identifier">l</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IN</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatFromWord2#</span><span> </span><span class="hs-identifier">h</span><span> </span><span class="hs-identifier">l</span><span class="hs-special">)</span><span>
</span><span id="line-460"></span><span>
</span><span id="line-461"></span><span>      </span><span class="hs-special">(#</span><span> </span><span class="hs-identifier">False</span><span class="hs-special">,</span><span>  </span><span class="hs-identifier">True</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">timesWord2#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">int2Word#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">negateInt#</span><span> </span><span class="hs-identifier">x</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-462"></span><span>                                       </span><span class="hs-special">(</span><span class="hs-identifier">int2Word#</span><span> </span><span class="hs-identifier">y</span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-463"></span><span>          </span><span class="hs-special">(#</span><span> </span><span class="hs-number">0##</span><span class="hs-special">,</span><span class="hs-identifier">l</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">integerFromWordNeg#</span><span> </span><span class="hs-identifier">l</span><span>
</span><span id="line-464"></span><span>          </span><span class="hs-special">(#</span><span> </span><span class="hs-identifier">h</span><span>  </span><span class="hs-special">,</span><span class="hs-identifier">l</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IN</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatFromWord2#</span><span> </span><span class="hs-identifier">h</span><span> </span><span class="hs-identifier">l</span><span class="hs-special">)</span><span>
</span><span id="line-465"></span><span>
</span><span id="line-466"></span><span>      </span><span class="hs-special">(#</span><span>  </span><span class="hs-identifier">True</span><span class="hs-special">,</span><span>  </span><span class="hs-identifier">True</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="hs-identifier">timesWord2#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">int2Word#</span><span> </span><span class="hs-identifier">x</span><span class="hs-special">)</span><span>
</span><span id="line-467"></span><span>                                       </span><span class="hs-special">(</span><span class="hs-identifier">int2Word#</span><span> </span><span class="hs-identifier">y</span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-468"></span><span>          </span><span class="hs-special">(#</span><span> </span><span class="hs-number">0##</span><span class="hs-special">,</span><span class="hs-identifier">l</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">integerFromWord#</span><span> </span><span class="hs-identifier">l</span><span>
</span><span id="line-469"></span><span>          </span><span class="hs-special">(#</span><span> </span><span class="hs-identifier">h</span><span>  </span><span class="hs-special">,</span><span class="hs-identifier">l</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IP</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatFromWord2#</span><span> </span><span class="hs-identifier">h</span><span> </span><span class="hs-identifier">l</span><span class="hs-special">)</span><span class="hs-cpp">
#else
</span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035025"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035025"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035024"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035024"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; (# Bool#, Bool#, Bool# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#timesInt2%23"><span class="hs-identifier hs-var">timesInt2#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035025"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035024"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-472"></span><span>   </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679035023"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035023"><span class="hs-identifier hs-var">_h</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679035022"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035022"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035022"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-473"></span><span>   </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">,</span><span>  </span><span id="local-6989586621679035021"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035021"><span class="hs-identifier hs-var">h</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679035020"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035020"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-474"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035021"><span class="hs-identifier hs-var">h</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-475"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord2%23"><span class="hs-identifier hs-var">bigNatFromWord2#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035021"><span class="hs-identifier hs-var">h</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035020"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-476"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-477"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">let</span><span>
</span><span id="line-478"></span><span>          </span><span class="hs-comment">-- two's complement of a two-word negative Int:</span><span>
</span><span id="line-479"></span><span>          </span><span class="hs-comment">--   l' = complement l + 1</span><span>
</span><span id="line-480"></span><span>          </span><span class="hs-comment">--   h' = complement h + carry</span><span>
</span><span id="line-481"></span><span>          </span><span class="hs-glyph">!</span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679035019"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035019"><span class="hs-identifier hs-var">l'</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679035018"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035018"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; (# Word#, Bool# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#addWordC%23"><span class="hs-identifier hs-var">addWordC#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#not%23"><span class="hs-identifier hs-var">not#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035020"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span>
</span><span id="line-482"></span><span>          </span><span class="hs-glyph">!</span><span id="local-6989586621679035017"><span class="annot"><span class="annottext">h' :: Word#
</span><a href="#local-6989586621679035017"><span class="hs-identifier hs-var hs-var">h'</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035018"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#plusWord%23"><span class="hs-operator hs-var">`plusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#not%23"><span class="hs-identifier hs-var">not#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035021"><span class="hs-identifier hs-var">h</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-483"></span><span>         </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord2%23"><span class="hs-identifier hs-var">bigNatFromWord2#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035017"><span class="hs-identifier hs-var">h'</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679035019"><span class="hs-identifier hs-var">l'</span></a></span><span class="hs-special">)</span><span class="hs-cpp">
#endif
</span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span id="local-6989586621679035016"><span class="annot"><span class="annottext">x :: Integer
</span><a href="#local-6989586621679035016"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679035015"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035015"><span class="hs-identifier hs-var">y</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035015"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679035016"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-486"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035014"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035014"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035013"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035013"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMul"><span class="hs-identifier hs-var">bigNatMul</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035014"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035013"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-487"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035011"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035011"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035010"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035010"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMul"><span class="hs-identifier hs-var">bigNatMul</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035011"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035010"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-488"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035009"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035009"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035008"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035008"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-489"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035008"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMulWord%23"><span class="hs-identifier hs-var">bigNatMulWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035009"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035008"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-490"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMulWord%23"><span class="hs-identifier hs-var">bigNatMulWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035009"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035008"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-491"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035006"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035006"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035005"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035005"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMul"><span class="hs-identifier hs-var">bigNatMul</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035006"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035005"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-492"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035004"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035004"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679035003"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035003"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMul"><span class="hs-identifier hs-var">bigNatMul</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035004"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035003"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-493"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035002"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035002"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679035001"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035001"><span class="hs-identifier hs-var">y</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-494"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035001"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMulWord%23"><span class="hs-identifier hs-var">bigNatMulWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035002"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035001"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-495"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatMulWord%23"><span class="hs-identifier hs-var">bigNatMulWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035002"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679035001"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-496"></span><span>
</span><span id="line-497"></span><span class="hs-comment">-- | Negate 'Integer'.</span><span>
</span><span id="line-498"></span><span class="hs-comment">--</span><span>
</span><span id="line-499"></span><span class="hs-comment">-- One edge-case issue to take into account is that Int's range is not</span><span>
</span><span id="line-500"></span><span class="hs-comment">-- symmetric around 0.  I.e. @minBound+maxBound = -1@</span><span>
</span><span id="line-501"></span><span class="hs-comment">--</span><span>
</span><span id="line-502"></span><span class="hs-comment">-- IP is used iff n &gt; maxBound::Int</span><span>
</span><span id="line-503"></span><span class="hs-comment">-- IN is used iff n &lt; minBound::Int</span><span>
</span><span id="line-504"></span><span class="annot"><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-type">integerNegate</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-505"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-pragma hs-type">integerNegate</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-506"></span><span id="integerNegate"><span class="annot"><span class="annottext">integerNegate :: Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var hs-var">integerNegate</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679035000"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035000"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679035000"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-507"></span><span class="annot"><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="hs-identifier">INT_MINBOUND#</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">IP</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatFromWord#</span><span> </span><span class="hs-identifier">ABS_INT_MINBOUND##</span><span class="hs-special">)</span><span>
</span><span id="line-508"></span><span class="annot"><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034999"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034999"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034999"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-509"></span><span class="annot"><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034998"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034998"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-510"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatEqWord%23"><span class="hs-identifier hs-var">bigNatEqWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034998"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-identifier">ABS_INT_MINBOUND##</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">IS</span><span> </span><span class="hs-identifier">INT_MINBOUND#</span><span>
</span><span id="line-511"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                                         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034998"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-512"></span><span>
</span><span id="line-513"></span><span class="hs-pragma">{-# RULES</span><span>
</span><span id="line-514"></span><span class="annot"><span class="hs-pragma">&quot;integerNegate/integerNegate&quot;</span></span><span> </span><span class="hs-pragma">forall</span><span> </span><span id="local-6989586621679034996"><span class="annot"><a href="#local-6989586621679034996"><span class="hs-pragma hs-var">x</span></a></span></span><span class="hs-pragma">.</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-pragma hs-type">integerNegate</span></a></span><span> </span><span class="hs-pragma">(</span><span class="annot"><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-pragma hs-type">integerNegate</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679034996"><span class="hs-pragma hs-type">x</span></a></span><span class="hs-pragma">)</span><span> </span><span class="hs-pragma">=</span><span> </span><span class="annot"><a href="#local-6989586621679034996"><span class="hs-pragma hs-type">x</span></a></span><span>
</span><span id="line-515"></span><span class="hs-pragma">#-}</span><span>
</span><span id="line-516"></span><span>
</span><span id="line-517"></span><span class="hs-comment">-- | Compute absolute value of an 'Integer'</span><span>
</span><span id="line-518"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-type">integerAbs</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-519"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-pragma hs-type">integerAbs</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-520"></span><span id="integerAbs"><span class="annot"><span class="annottext">integerAbs :: Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var hs-var">integerAbs</span></a></span></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034995"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034995"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034995"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-521"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span id="local-6989586621679034994"><span class="annot"><span class="annottext">n :: Integer
</span><a href="#local-6989586621679034994"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034994"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-522"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span id="local-6989586621679034993"><span class="annot"><span class="annottext">n :: Integer
</span><a href="#local-6989586621679034993"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034992"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034992"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-523"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034992"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034993"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-524"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="hs-identifier">INT_MINBOUND#</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier">i</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">IP</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034992"><span class="hs-special hs-var">(</span></a></span><span class="hs-identifier">bigNatFromWord#</span><span> </span><span class="hs-identifier">ABS_INT_MINBOUND##</span><span class="hs-special">)</span><span>
</span><span id="line-525"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034992"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-526"></span><span>
</span><span id="line-527"></span><span>
</span><span id="line-528"></span><span class="hs-comment">-- | Return @-1@, @0@, and @1@ depending on whether argument is</span><span>
</span><span id="line-529"></span><span class="hs-comment">-- negative, zero, or positive, respectively</span><span>
</span><span id="line-530"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSignum"><span class="hs-identifier hs-type">integerSignum</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-531"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerSignum"><span class="hs-pragma hs-type">integerSignum</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-532"></span><span id="integerSignum"><span class="annot"><span class="annottext">integerSignum :: Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerSignum"><span class="hs-identifier hs-var hs-var">integerSignum</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034991"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034991"><span class="hs-identifier hs-var">j</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerSignum%23"><span class="hs-identifier hs-var">integerSignum#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034991"><span class="hs-identifier hs-var">j</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-533"></span><span>
</span><span id="line-534"></span><span class="hs-comment">-- | Return @-1#@, @0#@, and @1#@ depending on whether argument is</span><span>
</span><span id="line-535"></span><span class="hs-comment">-- negative, zero, or positive, respectively</span><span>
</span><span id="line-536"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSignum%23"><span class="hs-identifier hs-type">integerSignum#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>
</span><span id="line-537"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerSignum%23"><span class="hs-pragma hs-type">integerSignum#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-538"></span><span id="integerSignum%23"><span class="annot"><span class="annottext">integerSignum# :: Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerSignum%23"><span class="hs-identifier hs-var hs-var">integerSignum#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span>
</span><span id="line-539"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSignum%23"><span class="hs-identifier hs-var">integerSignum#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034989"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034989"><span class="hs-identifier hs-var">i#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#sgnI%23"><span class="hs-identifier hs-var">sgnI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034989"><span class="hs-identifier hs-var">i#</span></a></span><span>
</span><span id="line-540"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSignum%23"><span class="hs-identifier hs-var">integerSignum#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>  </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-541"></span><span>
</span><span id="line-542"></span><span class="hs-comment">-- | Count number of set bits. For negative arguments returns</span><span>
</span><span id="line-543"></span><span class="hs-comment">-- the negated population count of the absolute value.</span><span>
</span><span id="line-544"></span><span class="annot"><a href="GHC.Num.Integer.html#integerPopCount%23"><span class="hs-identifier hs-type">integerPopCount#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span>
</span><span id="line-545"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerPopCount%23"><span class="hs-pragma hs-type">integerPopCount#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-546"></span><span id="integerPopCount%23"><span class="annot"><span class="annottext">integerPopCount# :: Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerPopCount%23"><span class="hs-identifier hs-var hs-var">integerPopCount#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034987"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034987"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-547"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034987"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#popCntI%23"><span class="hs-identifier hs-var">popCntI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034987"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-548"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#popCntI%23"><span class="hs-identifier hs-var">popCntI#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034987"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-549"></span><span class="annot"><a href="GHC.Num.Integer.html#integerPopCount%23"><span class="hs-identifier hs-var">integerPopCount#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034985"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034985"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatPopCount%23"><span class="hs-identifier hs-var">bigNatPopCount#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034985"><span class="hs-identifier hs-var">bn</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-550"></span><span class="annot"><a href="GHC.Num.Integer.html#integerPopCount%23"><span class="hs-identifier hs-var">integerPopCount#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034983"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034983"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatPopCount%23"><span class="hs-identifier hs-var">bigNatPopCount#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034983"><span class="hs-identifier hs-var">bn</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-551"></span><span>
</span><span id="line-552"></span><span class="hs-comment">-- | Positive 'Integer' for which only /n/-th bit is set</span><span>
</span><span id="line-553"></span><span class="annot"><a href="GHC.Num.Integer.html#integerBit%23"><span class="hs-identifier hs-type">integerBit#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-554"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerBit%23"><span class="hs-pragma hs-type">integerBit#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-555"></span><span id="integerBit%23"><span class="annot"><span class="annottext">integerBit# :: Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerBit%23"><span class="hs-identifier hs-var hs-var">integerBit#</span></a></span></span><span> </span><span id="local-6989586621679034982"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034982"><span class="hs-identifier hs-var">i</span></a></span></span><span>
</span><span id="line-556"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034982"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">WORD_SIZE_IN_BITS##</span><span> </span><span class="hs-special">`</span><span class="hs-identifier">minusWord#</span><span class="hs-special">`</span><span> </span><span class="hs-number">1##</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-557"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#uncheckedIShiftL%23"><span class="hs-identifier hs-var">uncheckedIShiftL#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034982"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-558"></span><span>
</span><span id="line-559"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatBit%23"><span class="hs-identifier hs-var">bigNatBit#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034982"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-560"></span><span>
</span><span id="line-561"></span><span class="hs-comment">-- | 'Integer' for which only /n/-th bit is set</span><span>
</span><span id="line-562"></span><span class="annot"><a href="GHC.Num.Integer.html#integerBit"><span class="hs-identifier hs-type">integerBit</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-563"></span><span id="integerBit"><span class="annot"><span class="annottext">integerBit :: Word -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerBit"><span class="hs-identifier hs-var hs-var">integerBit</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679034979"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034979"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerBit%23"><span class="hs-identifier hs-var">integerBit#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034979"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-564"></span><span>
</span><span id="line-565"></span><span class="hs-comment">-- | Test if /n/-th bit is set.</span><span>
</span><span id="line-566"></span><span class="hs-comment">--</span><span>
</span><span id="line-567"></span><span class="hs-comment">-- Fake 2's complement for negative values (might be slow)</span><span>
</span><span id="line-568"></span><span class="annot"><a href="GHC.Num.Integer.html#integerTestBit%23"><span class="hs-identifier hs-type">integerTestBit#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span>
</span><span id="line-569"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerTestBit%23"><span class="hs-pragma hs-type">integerTestBit#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-570"></span><span id="integerTestBit%23"><span class="annot"><span class="annottext">integerTestBit# :: Integer -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerTestBit%23"><span class="hs-identifier hs-var hs-var">integerTestBit#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034978"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034978"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034977"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034977"><span class="hs-identifier hs-var">i</span></a></span></span><span>
</span><span id="line-571"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034977"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#ltWord%23"><span class="hs-operator hs-var">`ltWord#`</span></a></span><span> </span><span class="hs-identifier">WORD_SIZE_IN_BITS##</span><span class="hs-special">)</span><span>
</span><span id="line-572"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#testBitI%23"><span class="hs-identifier hs-var">testBitI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034978"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034977"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-573"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-574"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034978"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%23"><span class="hs-operator hs-var">&lt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-575"></span><span class="annot"><a href="GHC.Num.Integer.html#integerTestBit%23"><span class="hs-identifier hs-var">integerTestBit#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034975"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034975"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034974"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034974"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatTestBit%23"><span class="hs-identifier hs-var">bigNatTestBit#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034975"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034974"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-576"></span><span class="annot"><a href="GHC.Num.Integer.html#integerTestBit%23"><span class="hs-identifier hs-var">integerTestBit#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034972"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034972"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034971"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034971"><span class="hs-identifier hs-var">i</span></a></span></span><span>
</span><span id="line-577"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034970"><span class="hs-identifier hs-var">iw</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034969"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-578"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-579"></span><span>   </span><span class="hs-comment">-- if all the limbs j with j &lt; iw are null, then we have to consider the</span><span>
</span><span id="line-580"></span><span>   </span><span class="hs-comment">-- carry of the 2's complement convertion. Otherwise we just have to return</span><span>
</span><span id="line-581"></span><span>   </span><span class="hs-comment">-- the inverse of the bit test</span><span>
</span><span id="line-582"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="#local-6989586621679034968"><span class="hs-identifier hs-var">allZ</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034970"><span class="hs-identifier hs-var">iw</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#testBitW%23"><span class="hs-identifier hs-var">testBitW#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034966"><span class="hs-identifier hs-var">xi</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034965"><span class="hs-identifier hs-var">ib</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-583"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#testBitW%23"><span class="hs-identifier hs-var">testBitW#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034966"><span class="hs-identifier hs-var">xi</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034965"><span class="hs-identifier hs-var">ib</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-584"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-585"></span><span>      </span><span class="hs-glyph">!</span><span id="local-6989586621679034966"><span class="annot"><span class="annottext">xi :: Word#
</span><a href="#local-6989586621679034966"><span class="hs-identifier hs-var hs-var">xi</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatIndex%23"><span class="hs-identifier hs-var">bigNatIndex#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034972"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034970"><span class="hs-identifier hs-var">iw</span></a></span><span>
</span><span id="line-586"></span><span>      </span><span class="hs-glyph">!</span><span id="local-6989586621679034969"><span class="annot"><span class="annottext">n :: Bool#
</span><a href="#local-6989586621679034969"><span class="hs-identifier hs-var hs-var">n</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatSize%23"><span class="hs-identifier hs-var">bigNatSize#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034972"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-587"></span><span>      </span><span class="hs-glyph">!</span><span id="local-6989586621679034970"><span class="annot"><span class="annottext">iw :: Bool#
</span><a href="#local-6989586621679034970"><span class="hs-identifier hs-var hs-var">iw</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034971"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#uncheckedShiftRL%23"><span class="hs-operator hs-var">`uncheckedShiftRL#`</span></a></span><span> </span><span class="hs-identifier">WORD_SIZE_BITS_SHIFT#</span><span class="hs-special">)</span><span>
</span><span id="line-588"></span><span>      </span><span class="hs-glyph">!</span><span id="local-6989586621679034965"><span class="annot"><span class="annottext">ib :: Word#
</span><a href="#local-6989586621679034965"><span class="hs-identifier hs-var hs-var">ib</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034971"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#and%23"><span class="hs-operator hs-var">`and#`</span></a></span><span> </span><span class="hs-identifier">WORD_SIZE_BITS_MASK##</span><span>
</span><span id="line-589"></span><span>
</span><span id="line-590"></span><span>      </span><span id="local-6989586621679034968"><span class="annot"><span class="annottext">allZ :: Bool# -&gt; Bool
</span><a href="#local-6989586621679034968"><span class="hs-identifier hs-var hs-var">allZ</span></a></span></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>
</span><span id="line-591"></span><span>      </span><span class="annot"><a href="#local-6989586621679034968"><span class="hs-identifier hs-var">allZ</span></a></span><span> </span><span id="local-6989586621679034964"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034964"><span class="hs-identifier hs-var">j</span></a></span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatIndex%23"><span class="hs-identifier hs-var">bigNatIndex#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034972"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034964"><span class="hs-identifier hs-var">j</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#eqWord%23"><span class="hs-operator hs-var">`eqWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="#local-6989586621679034968"><span class="hs-identifier hs-var">allZ</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034964"><span class="hs-identifier hs-var">j</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#-%23"><span class="hs-operator hs-var">-#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>
</span><span id="line-592"></span><span>             </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-593"></span><span>
</span><span id="line-594"></span><span class="hs-comment">-- | Test if /n/-th bit is set. For negative Integers it tests the n-th bit of</span><span>
</span><span id="line-595"></span><span class="hs-comment">-- the negated argument.</span><span>
</span><span id="line-596"></span><span class="hs-comment">--</span><span>
</span><span id="line-597"></span><span class="hs-comment">-- Fake 2's complement for negative values (might be slow)</span><span>
</span><span id="line-598"></span><span class="annot"><a href="GHC.Num.Integer.html#integerTestBit"><span class="hs-identifier hs-type">integerTestBit</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-599"></span><span id="integerTestBit"><span class="annot"><span class="annottext">integerTestBit :: Integer -&gt; Word -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerTestBit"><span class="hs-identifier hs-var hs-var">integerTestBit</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034962"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034962"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679034961"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034961"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerTestBit%23"><span class="hs-identifier hs-var">integerTestBit#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034962"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034961"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-600"></span><span>
</span><span id="line-601"></span><span class="hs-comment">-- | Shift-right operation</span><span>
</span><span id="line-602"></span><span class="hs-comment">--</span><span>
</span><span id="line-603"></span><span class="hs-comment">-- Fake 2's complement for negative values (might be slow)</span><span>
</span><span id="line-604"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftR%23"><span class="hs-identifier hs-type">integerShiftR#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-605"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftR%23"><span class="hs-pragma hs-type">integerShiftR#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-606"></span><span id="integerShiftR%23"><span class="annot"><span class="annottext">integerShiftR# :: Integer -&gt; Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerShiftR%23"><span class="hs-identifier hs-var hs-var">integerShiftR#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034960"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034960"><span class="hs-identifier hs-var">x</span></a></span></span><span>      </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034960"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-607"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftR%23"><span class="hs-identifier hs-var">integerShiftR#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034959"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034959"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>  </span><span id="local-6989586621679034958"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034958"><span class="hs-identifier hs-var">n</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="#local-6989586621679034957"><span class="hs-identifier hs-var">iShiftRA#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034959"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#word2Int%23"><span class="hs-identifier hs-var">word2Int#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034958"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-608"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-609"></span><span>    </span><span id="local-6989586621679034957"><span class="annot"><span class="annottext">iShiftRA# :: Bool# -&gt; Bool# -&gt; Bool#
</span><a href="#local-6989586621679034957"><span class="hs-identifier hs-var hs-var">iShiftRA#</span></a></span></span><span> </span><span id="local-6989586621679034956"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034956"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679034955"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034955"><span class="hs-identifier hs-var">b</span></a></span></span><span>
</span><span id="line-610"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034955"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="hs-identifier">WORD_SIZE_IN_BITS#</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">a</span><span> </span><span class="hs-operator">&lt;#</span><span> </span><span class="hs-number">0#</span><span class="hs-special">)</span><span> </span><span class="hs-operator">*#</span><span> </span><span class="hs-special">(</span><span class="hs-number">-1#</span><span class="hs-special">)</span><span>
</span><span id="line-611"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034956"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#uncheckedIShiftRA%23"><span class="hs-operator hs-var">`uncheckedIShiftRA#`</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034955"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-612"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftR%23"><span class="hs-identifier hs-var">integerShiftR#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034954"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034954"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034953"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034953"><span class="hs-identifier hs-var">n</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatShiftR%23"><span class="hs-identifier hs-var">bigNatShiftR#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034954"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034953"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-613"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftR%23"><span class="hs-identifier hs-var">integerShiftR#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034951"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034951"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034950"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034950"><span class="hs-identifier hs-var">n</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span>
</span><span id="line-614"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatShiftRNeg%23"><span class="hs-identifier hs-var">bigNatShiftRNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034951"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034950"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-615"></span><span>      </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span>
</span><span id="line-616"></span><span>      </span><span id="local-6989586621679034948"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034948"><span class="hs-identifier hs-var">r</span></a></span></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034948"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-617"></span><span>
</span><span id="line-618"></span><span class="hs-comment">-- | Shift-right operation</span><span>
</span><span id="line-619"></span><span class="hs-comment">--</span><span>
</span><span id="line-620"></span><span class="hs-comment">-- Fake 2's complement for negative values (might be slow)</span><span>
</span><span id="line-621"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftR"><span class="hs-identifier hs-type">integerShiftR</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-622"></span><span id="integerShiftR"><span class="annot"><span class="annottext">integerShiftR :: Integer -&gt; Word -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerShiftR"><span class="hs-identifier hs-var hs-var">integerShiftR</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034946"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034946"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679034945"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034945"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerShiftR%23"><span class="hs-identifier hs-var">integerShiftR#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034946"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034945"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-623"></span><span>
</span><span id="line-624"></span><span class="hs-comment">-- | Shift-left operation</span><span>
</span><span id="line-625"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftL%23"><span class="hs-identifier hs-type">integerShiftL#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-626"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftL%23"><span class="hs-pragma hs-type">integerShiftL#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-627"></span><span id="integerShiftL%23"><span class="annot"><span class="annottext">integerShiftL# :: Integer -&gt; Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerShiftL%23"><span class="hs-identifier hs-var hs-var">integerShiftL#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034944"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034944"><span class="hs-identifier hs-var">x</span></a></span></span><span>      </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034944"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-628"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftL%23"><span class="hs-identifier hs-var">integerShiftL#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-identifier">_</span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-629"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftL%23"><span class="hs-identifier hs-var">integerShiftL#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034943"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034943"><span class="hs-identifier hs-var">n</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerBit%23"><span class="hs-identifier hs-var">integerBit#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034943"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-630"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftL%23"><span class="hs-identifier hs-var">integerShiftL#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034942"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034942"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>  </span><span id="local-6989586621679034941"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034941"><span class="hs-identifier hs-var">n</span></a></span></span><span>
</span><span id="line-631"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034942"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatShiftL%23"><span class="hs-identifier hs-var">bigNatShiftL#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034942"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034941"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-632"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatShiftL%23"><span class="hs-identifier hs-var">bigNatShiftL#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034942"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034941"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-633"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftL%23"><span class="hs-identifier hs-var">integerShiftL#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034939"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034939"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034938"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034938"><span class="hs-identifier hs-var">n</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatShiftL%23"><span class="hs-identifier hs-var">bigNatShiftL#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034939"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034938"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-634"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftL%23"><span class="hs-identifier hs-var">integerShiftL#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034937"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034937"><span class="hs-identifier hs-var">bn</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034936"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034936"><span class="hs-identifier hs-var">n</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatShiftL%23"><span class="hs-identifier hs-var">bigNatShiftL#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034937"><span class="hs-identifier hs-var">bn</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034936"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-635"></span><span>
</span><span id="line-636"></span><span class="hs-comment">-- | Shift-left operation</span><span>
</span><span id="line-637"></span><span class="hs-comment">--</span><span>
</span><span id="line-638"></span><span class="hs-comment">-- Remember that bits are stored in sign-magnitude form, hence the behavior of</span><span>
</span><span id="line-639"></span><span class="hs-comment">-- negative Integers is different from negative Int's behavior.</span><span>
</span><span id="line-640"></span><span class="annot"><a href="GHC.Num.Integer.html#integerShiftL"><span class="hs-identifier hs-type">integerShiftL</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-641"></span><span id="integerShiftL"><span class="annot"><span class="annottext">integerShiftL :: Integer -&gt; Word -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerShiftL"><span class="hs-identifier hs-var hs-var">integerShiftL</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034934"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034934"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679034933"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034933"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerShiftL%23"><span class="hs-identifier hs-var">integerShiftL#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034934"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034933"><span class="hs-identifier hs-var">w</span></a></span><span>
</span><span id="line-642"></span><span>
</span><span id="line-643"></span><span class="hs-comment">-- | Bitwise OR operation</span><span>
</span><span id="line-644"></span><span class="hs-comment">--</span><span>
</span><span id="line-645"></span><span class="hs-comment">-- Fake 2's complement for negative values (might be slow)</span><span>
</span><span id="line-646"></span><span class="annot"><a href="GHC.Num.Integer.html#integerOr"><span class="hs-identifier hs-type">integerOr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-647"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerOr"><span class="hs-pragma hs-type">integerOr</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-648"></span><span id="integerOr"><span class="annot"><span class="annottext">integerOr :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerOr"><span class="hs-identifier hs-var hs-var">integerOr</span></a></span></span><span> </span><span id="local-6989586621679034932"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034932"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679034931"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034931"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034932"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-649"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span>  </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034931"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-650"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span>
</span><span id="line-651"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span>  </span><span id="local-6989586621679034930"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034930"><span class="hs-identifier hs-var">x</span></a></span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034931"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-652"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span>  </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034932"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-653"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span>
</span><span id="line-654"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span>  </span><span id="local-6989586621679034929"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034929"><span class="hs-identifier hs-var">y</span></a></span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#orI%23"><span class="hs-identifier hs-var">orI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034930"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034929"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-655"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span>  </span><span id="local-6989586621679034928"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034928"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-656"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034930"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatOrWord%23"><span class="hs-identifier hs-var">bigNatOrWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034928"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034930"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-657"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-658"></span><span>                                             </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-659"></span><span>                                                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAndNot"><span class="hs-identifier hs-var">bigNatAndNot</span></a></span><span> </span><span class="hs-comment">-- use De Morgan's laws</span><span>
</span><span id="line-660"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatFromWord%23"><span class="hs-identifier hs-var">bigNatFromWord#</span></a></span><span>
</span><span id="line-661"></span><span>                                                      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034930"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-662"></span><span>                                                   </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034928"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-663"></span><span>                                                </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-664"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034925"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034925"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-665"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034930"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-666"></span><span>                                             </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-667"></span><span>                                                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAndNotWord%23"><span class="hs-identifier hs-var">bigNatAndNotWord#</span></a></span><span> </span><span class="hs-comment">-- use De Morgan's laws</span><span>
</span><span id="line-668"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034925"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-669"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034930"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-670"></span><span>                                                </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-671"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-672"></span><span>                                             </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-673"></span><span>                                                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAndWord%23"><span class="hs-identifier hs-var">bigNatAndWord#</span></a></span><span>  </span><span class="hs-comment">-- use De Morgan's laws</span><span>
</span><span id="line-674"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034925"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-675"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034930"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-676"></span><span>                                                </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-677"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span>  </span><span id="local-6989586621679034922"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034922"><span class="hs-identifier hs-var">x</span></a></span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034931"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-678"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerOr"><span class="hs-identifier hs-var">integerOr</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034931"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034932"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-679"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034921"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034921"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatOr"><span class="hs-identifier hs-var">bigNatOr</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034922"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034921"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-680"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034919"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034919"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-681"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-682"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAndNot"><span class="hs-identifier hs-var">bigNatAndNot</span></a></span><span> </span><span class="hs-comment">-- use De Morgan's laws</span><span>
</span><span id="line-683"></span><span>                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034919"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-684"></span><span>                              </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034922"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-685"></span><span>                           </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-686"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span>  </span><span id="local-6989586621679034918"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034918"><span class="hs-identifier hs-var">x</span></a></span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034931"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-687"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerOr"><span class="hs-identifier hs-var">integerOr</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034931"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034932"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-688"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034917"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034917"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-689"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-690"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAnd"><span class="hs-identifier hs-var">bigNatAnd</span></a></span><span>  </span><span class="hs-comment">-- use De Morgan's laws</span><span>
</span><span id="line-691"></span><span>                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034918"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-692"></span><span>                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034917"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-693"></span><span>                           </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-694"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034915"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034915"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-695"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-696"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAndNot"><span class="hs-identifier hs-var">bigNatAndNot</span></a></span><span> </span><span class="hs-comment">-- use De Morgan's laws</span><span>
</span><span id="line-697"></span><span>                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034918"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-698"></span><span>                              </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034915"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-699"></span><span>                           </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-700"></span><span>
</span><span id="line-701"></span><span>
</span><span id="line-702"></span><span class="hs-comment">-- | Bitwise XOR operation</span><span>
</span><span id="line-703"></span><span class="hs-comment">--</span><span>
</span><span id="line-704"></span><span class="hs-comment">-- Fake 2's complement for negative values (might be slow)</span><span>
</span><span id="line-705"></span><span class="annot"><a href="GHC.Num.Integer.html#integerXor"><span class="hs-identifier hs-type">integerXor</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-706"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerXor"><span class="hs-pragma hs-type">integerXor</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-707"></span><span id="integerXor"><span class="annot"><span class="annottext">integerXor :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerXor"><span class="hs-identifier hs-var hs-var">integerXor</span></a></span></span><span> </span><span id="local-6989586621679034914"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034914"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679034913"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034913"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034914"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-708"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span>  </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034913"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-709"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerComplement"><span class="hs-identifier hs-var">integerComplement</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034913"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-710"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034912"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034912"><span class="hs-identifier hs-var">x</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034913"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-711"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span>  </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034914"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-712"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerComplement"><span class="hs-identifier hs-var">integerComplement</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034914"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-713"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034911"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034911"><span class="hs-identifier hs-var">y</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#xorI%23"><span class="hs-identifier hs-var">xorI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034912"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034911"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-714"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034910"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034910"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-715"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034912"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXorWord%23"><span class="hs-identifier hs-var">bigNatXorWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034910"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034912"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-716"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-717"></span><span>                                             </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-718"></span><span>                                                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXorWord%23"><span class="hs-identifier hs-var">bigNatXorWord#</span></a></span><span>
</span><span id="line-719"></span><span>                                                   </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034910"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-720"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034912"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-721"></span><span>                                                </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-722"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034908"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034908"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-723"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034912"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-724"></span><span>                                             </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-725"></span><span>                                                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXorWord%23"><span class="hs-identifier hs-var">bigNatXorWord#</span></a></span><span>
</span><span id="line-726"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034908"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-727"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034912"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-728"></span><span>                                                </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-729"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span>
</span><span id="line-730"></span><span>                                             </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXorWord%23"><span class="hs-identifier hs-var">bigNatXorWord#</span></a></span><span> </span><span class="hs-comment">-- xor (not x) (not y) = xor x y</span><span>
</span><span id="line-731"></span><span>                                                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034908"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-732"></span><span>                                                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034912"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-733"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034907"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034907"><span class="hs-identifier hs-var">x</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034913"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-734"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerXor"><span class="hs-identifier hs-var">integerXor</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034913"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034914"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-735"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034906"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034906"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXor"><span class="hs-identifier hs-var">bigNatXor</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034907"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034906"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-736"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034904"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034904"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-737"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-738"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXor"><span class="hs-identifier hs-var">bigNatXor</span></a></span><span>
</span><span id="line-739"></span><span>                              </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034907"><span class="hs-identifier hs-var">x</span></a></span><span>
</span><span id="line-740"></span><span>                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034904"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-741"></span><span>                           </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-742"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034903"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034903"><span class="hs-identifier hs-var">x</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034913"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-743"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerXor"><span class="hs-identifier hs-var">integerXor</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034913"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034914"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-744"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034902"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034902"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span>
</span><span id="line-745"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXor"><span class="hs-identifier hs-var">bigNatXor</span></a></span><span> </span><span class="hs-comment">-- xor (not x) (not y) = xor x y</span><span>
</span><span id="line-746"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034903"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-747"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034902"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-748"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034901"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034901"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-749"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-750"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatXor"><span class="hs-identifier hs-var">bigNatXor</span></a></span><span>
</span><span id="line-751"></span><span>                              </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034901"><span class="hs-identifier hs-var">y</span></a></span><span>
</span><span id="line-752"></span><span>                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034903"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-753"></span><span>                           </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-754"></span><span>
</span><span id="line-755"></span><span>
</span><span id="line-756"></span><span>
</span><span id="line-757"></span><span class="hs-comment">-- | Bitwise AND operation</span><span>
</span><span id="line-758"></span><span class="hs-comment">--</span><span>
</span><span id="line-759"></span><span class="hs-comment">-- Fake 2's complement for negative values (might be slow)</span><span>
</span><span id="line-760"></span><span class="annot"><a href="GHC.Num.Integer.html#integerAnd"><span class="hs-identifier hs-type">integerAnd</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-761"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerAnd"><span class="hs-pragma hs-type">integerAnd</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-762"></span><span id="integerAnd"><span class="annot"><span class="annottext">integerAnd :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAnd"><span class="hs-identifier hs-var hs-var">integerAnd</span></a></span></span><span> </span><span id="local-6989586621679034900"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034900"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679034899"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034899"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034900"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-763"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-764"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034899"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-765"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034898"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034898"><span class="hs-identifier hs-var">x</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034899"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-766"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span>  </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-767"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034900"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-768"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034897"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034897"><span class="hs-identifier hs-var">y</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#andI%23"><span class="hs-identifier hs-var">andI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034898"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034897"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-769"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034896"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034896"><span class="hs-identifier hs-var">y</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAndInt%23"><span class="hs-identifier hs-var">bigNatAndInt#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034896"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034898"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-770"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034894"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034894"><span class="hs-identifier hs-var">y</span></a></span></span><span>
</span><span id="line-771"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034898"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-var">integerFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034898"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#andNot%23"><span class="hs-operator hs-var">`andNot#`</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#indexWordArray%23"><span class="hs-identifier hs-var">indexWordArray#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034894"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-772"></span><span>                  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-773"></span><span>                                             </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-774"></span><span>                                                </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatOrWord%23"><span class="hs-identifier hs-var">bigNatOrWord#</span></a></span><span>  </span><span class="hs-comment">-- use De Morgan's laws</span><span>
</span><span id="line-775"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034894"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-776"></span><span>                                                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#wordFromAbsInt%23"><span class="hs-identifier hs-var">wordFromAbsInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034898"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#minusWord%23"><span class="hs-operator hs-var">`minusWord#`</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-777"></span><span>                                                </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-778"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034892"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034892"><span class="hs-identifier hs-var">x</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034899"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-779"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAnd"><span class="hs-identifier hs-var">integerAnd</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034899"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034900"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-780"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034891"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034891"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAnd"><span class="hs-identifier hs-var">bigNatAnd</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034892"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034891"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-781"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034890"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034890"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAndNot"><span class="hs-identifier hs-var">bigNatAndNot</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034892"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034890"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-782"></span><span>   </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034889"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034889"><span class="hs-identifier hs-var">x</span></a></span></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034899"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-783"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAnd"><span class="hs-identifier hs-var">integerAnd</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034899"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034900"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-784"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034888"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034888"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span>
</span><span id="line-785"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span>
</span><span id="line-786"></span><span>                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatOr"><span class="hs-identifier hs-var">bigNatOr</span></a></span><span>  </span><span class="hs-comment">-- use De Morgan's laws</span><span>
</span><span id="line-787"></span><span>                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034889"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-788"></span><span>                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034888"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-789"></span><span>                           </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-790"></span><span>               </span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034887"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034887"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAndNot"><span class="hs-identifier hs-var">bigNatAndNot</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034887"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034889"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-791"></span><span>
</span><span id="line-792"></span><span>
</span><span id="line-793"></span><span>
</span><span id="line-794"></span><span class="hs-comment">-- | Binary complement of the</span><span>
</span><span id="line-795"></span><span class="annot"><a href="GHC.Num.Integer.html#integerComplement"><span class="hs-identifier hs-type">integerComplement</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-796"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerComplement"><span class="hs-pragma hs-type">integerComplement</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-797"></span><span id="integerComplement"><span class="annot"><span class="annottext">integerComplement :: Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerComplement"><span class="hs-identifier hs-var hs-var">integerComplement</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034886"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034886"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#notI%23"><span class="hs-identifier hs-var">notI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034886"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-798"></span><span class="annot"><a href="GHC.Num.Integer.html#integerComplement"><span class="hs-identifier hs-var">integerComplement</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034885"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034885"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-var">IN</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatAddWord%23"><span class="hs-identifier hs-var">bigNatAddWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034885"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-799"></span><span class="annot"><a href="GHC.Num.Integer.html#integerComplement"><span class="hs-identifier hs-var">integerComplement</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034884"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034884"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatSubWordUnsafe%23"><span class="hs-identifier hs-var">bigNatSubWordUnsafe#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034884"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">1##</span></span><span class="hs-special">)</span><span>
</span><span id="line-800"></span><span>
</span><span id="line-801"></span><span>
</span><span id="line-802"></span><span class="hs-comment">-- | Simultaneous 'integerQuot' and 'integerRem'.</span><span>
</span><span id="line-803"></span><span class="hs-comment">--</span><span>
</span><span id="line-804"></span><span class="hs-comment">-- Divisor must be non-zero otherwise the GHC runtime will terminate</span><span>
</span><span id="line-805"></span><span class="hs-comment">-- with a division-by-zero fault.</span><span>
</span><span id="line-806"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-type">integerQuotRem#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-807"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-pragma hs-type">integerQuotRem#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-808"></span><span id="integerQuotRem%23"><span class="annot"><span class="annottext">integerQuotRem# :: Integer -&gt; Integer -&gt; (# Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var hs-var">integerQuotRem#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034883"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034883"><span class="hs-identifier hs-var">n</span></a></span></span><span>      </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034883"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-809"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034882"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034882"><span class="hs-identifier hs-var">n</span></a></span></span><span>     </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034881"><span class="annot"><span class="annottext">q :: Integer
</span><a href="#local-6989586621679034881"><span class="hs-identifier hs-var hs-var">q</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034882"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-keyword">in</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034881"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-810"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>      </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Any
forall a. a
</span><a href="../../ghc-prim/src/GHC.Prim.Exception.html#raiseDivZero"><span class="hs-identifier hs-var">raiseDivZero</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-811"></span><span>                                    </span><span class="hs-glyph">!</span><span class="annot"><span class="annottext">Any
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-812"></span><span>                                    </span><span class="hs-comment">-- see Note [ghc-bignum exceptions] in GHC.Num.Primitives</span><span>
</span><span id="line-813"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-814"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034880"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034880"><span class="hs-identifier hs-var">n#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034879"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034879"><span class="hs-identifier hs-var">d#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; (# Bool#, Bool# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#quotRemInt%23"><span class="hs-identifier hs-var">quotRemInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034880"><span class="hs-identifier hs-var">n#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034879"><span class="hs-identifier hs-var">d#</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-815"></span><span>    </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034878"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034878"><span class="hs-identifier hs-var">q#</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034877"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034877"><span class="hs-identifier hs-var">r#</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034878"><span class="hs-identifier hs-var">q#</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034877"><span class="hs-identifier hs-var">r#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-816"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034876"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034876"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034875"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034875"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; (# ByteArray#, ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRem%23"><span class="hs-identifier hs-var">bigNatQuotRem#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034876"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034875"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-817"></span><span>    </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034873"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034873"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034872"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034872"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034873"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034872"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-818"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034871"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034871"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034870"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034870"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; (# ByteArray#, ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRem%23"><span class="hs-identifier hs-var">bigNatQuotRem#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034871"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034870"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-819"></span><span>    </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034869"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034869"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034868"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034868"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034869"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034868"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-820"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034867"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034867"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034866"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034866"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; (# ByteArray#, ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRem%23"><span class="hs-identifier hs-var">bigNatQuotRem#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034867"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034866"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-821"></span><span>    </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034865"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034865"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034864"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034864"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034865"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034864"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-822"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034863"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034863"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034862"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034862"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; (# ByteArray#, ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRem%23"><span class="hs-identifier hs-var">bigNatQuotRem#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034863"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034862"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-823"></span><span>    </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034861"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034861"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034860"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034860"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034861"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034860"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-824"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034859"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034859"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034858"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034858"><span class="hs-identifier hs-var">d#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-825"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034858"><span class="hs-identifier hs-var">d#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; (# ByteArray#, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRemWord%23"><span class="hs-identifier hs-var">bigNatQuotRemWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034859"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034858"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-826"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034856"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034856"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034855"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034855"><span class="hs-identifier hs-var">r#</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034856"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-var">integerFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034855"><span class="hs-identifier hs-var">r#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-827"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; (# ByteArray#, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRemWord%23"><span class="hs-identifier hs-var">bigNatQuotRemWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034859"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034858"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-828"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034854"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034854"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034853"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034853"><span class="hs-identifier hs-var">r#</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034854"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-var">integerFromWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034853"><span class="hs-identifier hs-var">r#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-829"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034852"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034852"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034851"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034851"><span class="hs-identifier hs-var">d#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-830"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034851"><span class="hs-identifier hs-var">d#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; (# ByteArray#, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRemWord%23"><span class="hs-identifier hs-var">bigNatQuotRemWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034852"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034851"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-831"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034850"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034850"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034849"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034849"><span class="hs-identifier hs-var">r#</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034850"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWordNeg%23"><span class="hs-identifier hs-var">integerFromWordNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034849"><span class="hs-identifier hs-var">r#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-832"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; (# ByteArray#, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatQuotRemWord%23"><span class="hs-identifier hs-var">bigNatQuotRemWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034852"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034851"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-833"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034848"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034848"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034847"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034847"><span class="hs-identifier hs-var">r#</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034848"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWordNeg%23"><span class="hs-identifier hs-var">integerFromWordNeg#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034847"><span class="hs-identifier hs-var">r#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-834"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span id="local-6989586621679034846"><span class="annot"><span class="annottext">n :: Integer
</span><a href="#local-6989586621679034846"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034846"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-comment">-- since @n &lt; d@</span><span>
</span><span id="line-835"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span id="local-6989586621679034845"><span class="annot"><span class="annottext">n :: Integer
</span><a href="#local-6989586621679034845"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034844"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034844"><span class="hs-identifier hs-var">n#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034843"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034843"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- need to account for (IS minBound)</span><span>
</span><span id="line-836"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034844"><span class="hs-identifier hs-var">n#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%23"><span class="hs-operator hs-var">&gt;#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>                                    </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034845"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-837"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Bool#
</span><a href="GHC.Num.BigNat.html#bigNatGtWord%23"><span class="hs-identifier hs-var">bigNatGtWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034843"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034844"><span class="hs-identifier hs-var">n#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034845"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-838"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-comment">{- abs(n) == d -}</span><span>                                </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-839"></span><span>
</span><span id="line-840"></span><span class="hs-comment">-- | Simultaneous 'integerQuot' and 'integerRem'.</span><span>
</span><span id="line-841"></span><span class="hs-comment">--</span><span>
</span><span id="line-842"></span><span class="hs-comment">-- Divisor must be non-zero otherwise the GHC runtime will terminate</span><span>
</span><span id="line-843"></span><span class="hs-comment">-- with a division-by-zero fault.</span><span>
</span><span id="line-844"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuotRem"><span class="hs-identifier hs-type">integerQuotRem</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-845"></span><span id="integerQuotRem"><span class="annot"><span class="annottext">integerQuotRem :: Integer -&gt; Integer -&gt; (Integer, Integer)
</span><a href="GHC.Num.Integer.html#integerQuotRem"><span class="hs-identifier hs-var hs-var">integerQuotRem</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034841"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034841"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034840"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034840"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; (# Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034841"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034840"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-846"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034839"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034839"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034838"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034838"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034839"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034838"><span class="hs-identifier hs-var">r</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-847"></span><span>
</span><span id="line-848"></span><span>
</span><span id="line-849"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-type">integerQuot</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-850"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-pragma hs-type">integerQuot</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-851"></span><span id="integerQuot"><span class="annot"><span class="annottext">integerQuot :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var hs-var">integerQuot</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034837"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034837"><span class="hs-identifier hs-var">n</span></a></span></span><span>      </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034837"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-852"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034836"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034836"><span class="hs-identifier hs-var">n</span></a></span></span><span>      </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034836"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-853"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>      </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer
forall a. a
</span><a href="../../ghc-prim/src/GHC.Prim.Exception.html#raiseDivZero"><span class="hs-identifier hs-var">raiseDivZero</span></a></span><span>
</span><span id="line-854"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-855"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034835"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034835"><span class="hs-identifier hs-var">n#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034834"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034834"><span class="hs-identifier hs-var">d#</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#quotInt%23"><span class="hs-identifier hs-var">quotInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034835"><span class="hs-identifier hs-var">n#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034834"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-856"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034833"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034833"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034832"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034832"><span class="hs-identifier hs-var">d#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-857"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034832"><span class="hs-identifier hs-var">d#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuotWord%23"><span class="hs-identifier hs-var">bigNatQuotWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034833"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034832"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-858"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuotWord%23"><span class="hs-identifier hs-var">bigNatQuotWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034833"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-859"></span><span>                                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034832"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-860"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034830"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034830"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034829"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034829"><span class="hs-identifier hs-var">d#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-861"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034829"><span class="hs-identifier hs-var">d#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3E%3D%23"><span class="hs-operator hs-var">&gt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuotWord%23"><span class="hs-identifier hs-var">bigNatQuotWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034830"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034829"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-862"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuotWord%23"><span class="hs-identifier hs-var">bigNatQuotWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034830"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-863"></span><span>                                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034829"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-864"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034828"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034828"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034827"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034827"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuot"><span class="hs-identifier hs-var">bigNatQuot</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034828"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034827"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-865"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034825"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034825"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034824"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034824"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuot"><span class="hs-identifier hs-var">bigNatQuot</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034825"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034824"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-866"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034823"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034823"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034822"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034822"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuot"><span class="hs-identifier hs-var">bigNatQuot</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034823"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034822"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-867"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034821"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034821"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034820"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034820"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatQuot"><span class="hs-identifier hs-var">bigNatQuot</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034821"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034820"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-868"></span><span class="annot"><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span id="local-6989586621679034819"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034819"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679034818"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034818"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; (# Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034819"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034818"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034817"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034817"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034817"><span class="hs-identifier hs-var">q</span></a></span><span>
</span><span id="line-869"></span><span>
</span><span id="line-870"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-type">integerRem</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-871"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-pragma hs-type">integerRem</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-872"></span><span id="integerRem"><span class="annot"><span class="annottext">integerRem :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var hs-var">integerRem</span></a></span></span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>       </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-873"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>       </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-874"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#remInt%23"><span class="hs-identifier hs-var">remInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>
</span><span id="line-875"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-876"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034816"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034816"><span class="hs-identifier hs-var">n#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034815"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034815"><span class="hs-identifier hs-var">d#</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#remInt%23"><span class="hs-identifier hs-var">remInt#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034816"><span class="hs-identifier hs-var">n#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034815"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-877"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034814"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034814"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034813"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034813"><span class="hs-identifier hs-var">d#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-878"></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-var">integerFromWord#</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatRemWord%23"><span class="hs-identifier hs-var">bigNatRemWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034814"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#absI%23"><span class="hs-identifier hs-var">absI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034813"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-879"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034810"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034810"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034809"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034809"><span class="hs-identifier hs-var">d#</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-880"></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWordNeg%23"><span class="hs-identifier hs-var">integerFromWordNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatRemWord%23"><span class="hs-identifier hs-var">bigNatRemWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034810"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#absI%23"><span class="hs-identifier hs-var">absI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034809"><span class="hs-identifier hs-var">d#</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-881"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034808"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034808"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034807"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034807"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatRem"><span class="hs-identifier hs-var">bigNatRem</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034808"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034807"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-882"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034805"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034805"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034804"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034804"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatRem"><span class="hs-identifier hs-var">bigNatRem</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034805"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034804"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-883"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034803"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034803"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034802"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034802"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatRem"><span class="hs-identifier hs-var">bigNatRem</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034803"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034802"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-884"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034801"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034801"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034800"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034800"><span class="hs-identifier hs-var">d</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNatNeg%23"><span class="hs-identifier hs-var">integerFromBigNatNeg#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatRem"><span class="hs-identifier hs-var">bigNatRem</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034801"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034800"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-885"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span id="local-6989586621679034799"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034799"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621679034798"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034798"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; (# Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034799"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034798"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034797"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034797"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034797"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-886"></span><span>
</span><span id="line-887"></span><span>
</span><span id="line-888"></span><span class="hs-comment">-- | Simultaneous 'integerDiv' and 'integerMod'.</span><span>
</span><span id="line-889"></span><span class="hs-comment">--</span><span>
</span><span id="line-890"></span><span class="hs-comment">-- Divisor must be non-zero otherwise the GHC runtime will terminate</span><span>
</span><span id="line-891"></span><span class="hs-comment">-- with a division-by-zero fault.</span><span>
</span><span id="line-892"></span><span class="annot"><a href="GHC.Num.Integer.html#integerDivMod%23"><span class="hs-identifier hs-type">integerDivMod#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-893"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerDivMod%23"><span class="hs-pragma hs-type">integerDivMod#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-894"></span><span id="integerDivMod%23"><span class="annot"><span class="annottext">integerDivMod# :: Integer -&gt; Integer -&gt; (# Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerDivMod%23"><span class="hs-identifier hs-var hs-var">integerDivMod#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034796"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034796"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034795"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034795"><span class="hs-identifier hs-var">d</span></a></span></span><span>
</span><span id="line-895"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerSignum%23"><span class="hs-identifier hs-var">integerSignum#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034794"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateInt%23"><span class="hs-identifier hs-var">negateInt#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerSignum%23"><span class="hs-identifier hs-var">integerSignum#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034795"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-896"></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">let</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034793"><span class="annot"><span class="annottext">q' :: Integer
</span><a href="#local-6989586621679034793"><span class="hs-identifier hs-var hs-var">q'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerSub"><span class="hs-identifier hs-var">integerSub</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034792"><span class="hs-identifier hs-var">q</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>
</span><span id="line-897"></span><span>           </span><span class="hs-glyph">!</span><span id="local-6989586621679034791"><span class="annot"><span class="annottext">r' :: Integer
</span><a href="#local-6989586621679034791"><span class="hs-identifier hs-var hs-var">r'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAdd"><span class="hs-identifier hs-var">integerAdd</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034794"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034795"><span class="hs-identifier hs-var">d</span></a></span><span>
</span><span id="line-898"></span><span>       </span><span class="hs-keyword">in</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034793"><span class="hs-identifier hs-var">q'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034791"><span class="hs-identifier hs-var">r'</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-899"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(# Integer, Integer #)
</span><a href="#local-6989586621679034790"><span class="hs-identifier hs-var">qr</span></a></span><span>
</span><span id="line-900"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-901"></span><span>    </span><span class="hs-glyph">!</span><span id="local-6989586621679034790"><span class="annot"><span class="annottext">qr :: (# Integer, Integer #)
</span><a href="#local-6989586621679034790"><span class="hs-identifier hs-var">qr</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034792"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034792"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034794"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034794"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; (# Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerQuotRem%23"><span class="hs-identifier hs-var">integerQuotRem#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034796"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034795"><span class="hs-identifier hs-var">d</span></a></span><span>
</span><span id="line-902"></span><span>
</span><span id="line-903"></span><span class="hs-comment">-- | Simultaneous 'integerDiv' and 'integerMod'.</span><span>
</span><span id="line-904"></span><span class="hs-comment">--</span><span>
</span><span id="line-905"></span><span class="hs-comment">-- Divisor must be non-zero otherwise the GHC runtime will terminate</span><span>
</span><span id="line-906"></span><span class="hs-comment">-- with a division-by-zero fault.</span><span>
</span><span id="line-907"></span><span class="annot"><a href="GHC.Num.Integer.html#integerDivMod"><span class="hs-identifier hs-type">integerDivMod</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-908"></span><span id="integerDivMod"><span class="annot"><span class="annottext">integerDivMod :: Integer -&gt; Integer -&gt; (Integer, Integer)
</span><a href="GHC.Num.Integer.html#integerDivMod"><span class="hs-identifier hs-var hs-var">integerDivMod</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034788"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034788"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034787"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034787"><span class="hs-identifier hs-var">d</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; (# Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerDivMod%23"><span class="hs-identifier hs-var">integerDivMod#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034788"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034787"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-909"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034786"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034786"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679034785"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034785"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034786"><span class="hs-identifier hs-var">q</span></a></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034785"><span class="hs-identifier hs-var">r</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-910"></span><span>
</span><span id="line-911"></span><span>
</span><span id="line-912"></span><span class="annot"><a href="GHC.Num.Integer.html#integerDiv"><span class="hs-identifier hs-type">integerDiv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-913"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerDiv"><span class="hs-pragma hs-type">integerDiv</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-914"></span><span id="integerDiv"><span class="annot"><span class="annottext">integerDiv :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerDiv"><span class="hs-identifier hs-var hs-var">integerDiv</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034784"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034784"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034783"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034783"><span class="hs-identifier hs-var">d</span></a></span></span><span>
</span><span id="line-915"></span><span>   </span><span class="hs-comment">-- same-sign ops can be handled by more efficient 'integerQuot'</span><span>
</span><span id="line-916"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerIsNegative%23"><span class="hs-identifier hs-var">integerIsNegative#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034784"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerIsNegative%23"><span class="hs-identifier hs-var">integerIsNegative#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034783"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-identifier hs-var">integerQuot</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034784"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034783"><span class="hs-identifier hs-var">d</span></a></span><span>
</span><span id="line-917"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; (# Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerDivMod%23"><span class="hs-identifier hs-var">integerDivMod#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034784"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034783"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034782"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034782"><span class="hs-identifier hs-var">q</span></a></span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034782"><span class="hs-identifier hs-var">q</span></a></span><span>
</span><span id="line-918"></span><span>
</span><span id="line-919"></span><span>
</span><span id="line-920"></span><span class="annot"><a href="GHC.Num.Integer.html#integerMod"><span class="hs-identifier hs-type">integerMod</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-921"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerMod"><span class="hs-pragma hs-type">integerMod</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-922"></span><span id="integerMod"><span class="annot"><span class="annottext">integerMod :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerMod"><span class="hs-identifier hs-var hs-var">integerMod</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034781"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034781"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034780"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034780"><span class="hs-identifier hs-var">d</span></a></span></span><span>
</span><span id="line-923"></span><span>   </span><span class="hs-comment">-- same-sign ops can be handled by more efficient 'integerRem'</span><span>
</span><span id="line-924"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerIsNegative%23"><span class="hs-identifier hs-var">integerIsNegative#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034781"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3D%3D%23"><span class="hs-operator hs-var">==#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool#
</span><a href="GHC.Num.Integer.html#integerIsNegative%23"><span class="hs-identifier hs-var">integerIsNegative#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034780"><span class="hs-identifier hs-var">d</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerRem"><span class="hs-identifier hs-var">integerRem</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034781"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034780"><span class="hs-identifier hs-var">d</span></a></span><span>
</span><span id="line-925"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; (# Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerDivMod%23"><span class="hs-identifier hs-var">integerDivMod#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034781"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034780"><span class="hs-identifier hs-var">d</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034779"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034779"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034779"><span class="hs-identifier hs-var">r</span></a></span><span>
</span><span id="line-926"></span><span>
</span><span id="line-927"></span><span class="hs-comment">-- | Compute greatest common divisor.</span><span>
</span><span id="line-928"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-type">integerGcd</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-929"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-pragma hs-type">integerGcd</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-930"></span><span id="integerGcd"><span class="annot"><span class="annottext">integerGcd :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var hs-var">integerGcd</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">!</span><span id="local-6989586621679034778"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034778"><span class="hs-identifier hs-var">b</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034778"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-931"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span id="local-6989586621679034777"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034777"><span class="hs-identifier hs-var">a</span></a></span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034777"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-932"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>  </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-933"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-934"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-935"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span>
</span><span id="line-936"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034776"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034776"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034775"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034775"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-var">integerFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#gcdWord%23"><span class="hs-identifier hs-var">gcdWord#</span></a></span><span>
</span><span id="line-937"></span><span>                                 </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#absI%23"><span class="hs-identifier hs-var">absI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034776"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-938"></span><span>                                 </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#absI%23"><span class="hs-identifier hs-var">absI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034775"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-939"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span id="local-6989586621679034773"><span class="annot"><span class="annottext">a :: Integer
</span><a href="#local-6989586621679034773"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034772"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034772"><span class="hs-identifier hs-var">b</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034772"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034773"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-940"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034771"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034771"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span>   </span><span id="local-6989586621679034770"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034770"><span class="hs-identifier hs-var">b</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-var">IP</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034771"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034770"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-941"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034769"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034769"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034768"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034768"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatGcd"><span class="hs-identifier hs-var">bigNatGcd</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034769"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034768"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-942"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034766"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034766"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034765"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034765"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; ByteArray# -&gt; ByteArray#
</span><a href="GHC.Num.BigNat.html#bigNatGcd"><span class="hs-identifier hs-var">bigNatGcd</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034766"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034765"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-943"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-identifier hs-var">integerGcd</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034764"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034764"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034763"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034763"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromWord%23"><span class="hs-identifier hs-var">integerFromWord#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatGcdWord%23"><span class="hs-identifier hs-var">bigNatGcdWord#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034764"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#absI%23"><span class="hs-identifier hs-var">absI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034763"><span class="hs-identifier hs-var">b</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-944"></span><span>
</span><span id="line-945"></span><span class="hs-comment">-- | Compute least common multiple.</span><span>
</span><span id="line-946"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLcm"><span class="hs-identifier hs-type">integerLcm</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-947"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerLcm"><span class="hs-pragma hs-type">integerLcm</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-948"></span><span id="integerLcm"><span class="annot"><span class="annottext">integerLcm :: Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerLcm"><span class="hs-identifier hs-var hs-var">integerLcm</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">!</span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-949"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLcm"><span class="hs-identifier hs-var">integerLcm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>  </span><span id="local-6989586621679034761"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034761"><span class="hs-identifier hs-var">b</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034761"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-950"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLcm"><span class="hs-identifier hs-var">integerLcm</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034760"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034760"><span class="hs-identifier hs-var">b</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034760"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-951"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLcm"><span class="hs-identifier hs-var">integerLcm</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-952"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLcm"><span class="hs-identifier hs-var">integerLcm</span></a></span><span> </span><span id="local-6989586621679034759"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034759"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">1#</span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034759"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-953"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLcm"><span class="hs-identifier hs-var">integerLcm</span></a></span><span> </span><span id="local-6989586621679034758"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034758"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">-1#</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034758"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-954"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLcm"><span class="hs-identifier hs-var">integerLcm</span></a></span><span> </span><span id="local-6989586621679034757"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034757"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679034756"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034756"><span class="hs-identifier hs-var">b</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034755"><span class="hs-identifier hs-var">aa</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerQuot"><span class="hs-operator hs-var">`integerQuot`</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034755"><span class="hs-identifier hs-var">aa</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerGcd"><span class="hs-operator hs-var">`integerGcd`</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034754"><span class="hs-identifier hs-var">ab</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerMul"><span class="hs-operator hs-var">`integerMul`</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034754"><span class="hs-identifier hs-var">ab</span></a></span><span>
</span><span id="line-955"></span><span>  </span><span class="hs-keyword">where</span><span>                   </span><span class="hs-comment">-- TODO: use extended GCD to get a's factor directly</span><span>
</span><span id="line-956"></span><span>    </span><span id="local-6989586621679034755"><span class="annot"><span class="annottext">aa :: Integer
</span><a href="#local-6989586621679034755"><span class="hs-identifier hs-var hs-var">aa</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034757"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-957"></span><span>    </span><span id="local-6989586621679034754"><span class="annot"><span class="annottext">ab :: Integer
</span><a href="#local-6989586621679034754"><span class="hs-identifier hs-var hs-var">ab</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034756"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-958"></span><span>
</span><span id="line-959"></span><span class="hs-comment">-- | Square a Integer</span><span>
</span><span id="line-960"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSqr"><span class="hs-identifier hs-type">integerSqr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-961"></span><span id="integerSqr"><span class="annot"><span class="annottext">integerSqr :: Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerSqr"><span class="hs-identifier hs-var hs-var">integerSqr</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034752"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034752"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerMul"><span class="hs-identifier hs-var">integerMul</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034752"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034752"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-962"></span><span>
</span><span id="line-963"></span><span>
</span><span id="line-964"></span><span class="hs-comment">-- | Base 2 logarithm (floor)</span><span>
</span><span id="line-965"></span><span class="hs-comment">--</span><span>
</span><span id="line-966"></span><span class="hs-comment">-- For numbers &lt;= 0, return 0</span><span>
</span><span id="line-967"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLog2%23"><span class="hs-identifier hs-type">integerLog2#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-968"></span><span id="integerLog2%23"><span class="annot"><span class="annottext">integerLog2# :: Integer -&gt; Word#
</span><a href="GHC.Num.Integer.html#integerLog2%23"><span class="hs-identifier hs-var hs-var">integerLog2#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034750"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034750"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-969"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034750"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%3D%23"><span class="hs-operator hs-var">&lt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-970"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#wordLog2%23"><span class="hs-identifier hs-var">wordLog2#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034750"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-971"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLog2%23"><span class="hs-identifier hs-var">integerLog2#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-972"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLog2%23"><span class="hs-identifier hs-var">integerLog2#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034748"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034748"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatLog2%23"><span class="hs-identifier hs-var">bigNatLog2#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034748"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-973"></span><span>
</span><span id="line-974"></span><span class="hs-comment">-- | Base 2 logarithm (floor)</span><span>
</span><span id="line-975"></span><span class="hs-comment">--</span><span>
</span><span id="line-976"></span><span class="hs-comment">-- For numbers &lt;= 0, return 0</span><span>
</span><span id="line-977"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLog2"><span class="hs-identifier hs-type">integerLog2</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-978"></span><span id="integerLog2"><span class="annot"><span class="annottext">integerLog2 :: Integer -&gt; Word
</span><a href="GHC.Num.Integer.html#integerLog2"><span class="hs-identifier hs-var hs-var">integerLog2</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034745"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034745"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Word#
</span><a href="GHC.Num.Integer.html#integerLog2%23"><span class="hs-identifier hs-var">integerLog2#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034745"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-979"></span><span>
</span><span id="line-980"></span><span class="hs-comment">-- | Logarithm (floor) for an arbitrary base</span><span>
</span><span id="line-981"></span><span class="hs-comment">--</span><span>
</span><span id="line-982"></span><span class="hs-comment">-- For numbers &lt;= 0, return 0</span><span>
</span><span id="line-983"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLogBaseWord%23"><span class="hs-identifier hs-type">integerLogBaseWord#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-984"></span><span id="integerLogBaseWord%23"><span class="annot"><span class="annottext">integerLogBaseWord# :: Word# -&gt; Integer -&gt; Word#
</span><a href="GHC.Num.Integer.html#integerLogBaseWord%23"><span class="hs-identifier hs-var hs-var">integerLogBaseWord#</span></a></span></span><span> </span><span id="local-6989586621679034743"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034743"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034742"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034742"><span class="hs-identifier hs-var">i</span></a></span></span><span>
</span><span id="line-985"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsNegative"><span class="hs-identifier hs-var">integerIsNegative</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034742"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-986"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalLogBaseWord%23"><span class="hs-identifier hs-var">naturalLogBaseWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034743"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Natural
</span><a href="GHC.Num.Integer.html#integerToNatural"><span class="hs-identifier hs-var">integerToNatural</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034742"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-987"></span><span>
</span><span id="line-988"></span><span class="hs-comment">-- | Logarithm (floor) for an arbitrary base</span><span>
</span><span id="line-989"></span><span class="hs-comment">--</span><span>
</span><span id="line-990"></span><span class="hs-comment">-- For numbers &lt;= 0, return 0</span><span>
</span><span id="line-991"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLogBaseWord"><span class="hs-identifier hs-type">integerLogBaseWord</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-992"></span><span id="integerLogBaseWord"><span class="annot"><span class="annottext">integerLogBaseWord :: Word -&gt; Integer -&gt; Word
</span><a href="GHC.Num.Integer.html#integerLogBaseWord"><span class="hs-identifier hs-var hs-var">integerLogBaseWord</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-type">W#</span></a></span><span> </span><span id="local-6989586621679034740"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034740"><span class="hs-identifier hs-var">base</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034739"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034739"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word# -&gt; Integer -&gt; Word#
</span><a href="GHC.Num.Integer.html#integerLogBaseWord%23"><span class="hs-identifier hs-var">integerLogBaseWord#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034740"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034739"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-993"></span><span>
</span><span id="line-994"></span><span class="hs-comment">-- | Logarithm (floor) for an arbitrary base</span><span>
</span><span id="line-995"></span><span class="hs-comment">--</span><span>
</span><span id="line-996"></span><span class="hs-comment">-- For numbers &lt;= 0, return 0</span><span>
</span><span id="line-997"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLogBase%23"><span class="hs-identifier hs-type">integerLogBase#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-998"></span><span id="integerLogBase%23"><span class="annot"><span class="annottext">integerLogBase# :: Integer -&gt; Integer -&gt; Word#
</span><a href="GHC.Num.Integer.html#integerLogBase%23"><span class="hs-identifier hs-var hs-var">integerLogBase#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034737"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034737"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034736"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034736"><span class="hs-identifier hs-var">i</span></a></span></span><span>
</span><span id="line-999"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsNegative"><span class="hs-identifier hs-var">integerIsNegative</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034736"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
</span><span class="hs-number">0##</span></span><span>
</span><span id="line-1000"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Natural -&gt; Word#
</span><a href="GHC.Num.Natural.html#naturalLogBase%23"><span class="hs-identifier hs-var">naturalLogBase#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Natural
</span><a href="GHC.Num.Integer.html#integerToNatural"><span class="hs-identifier hs-var">integerToNatural</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034737"><span class="hs-identifier hs-var">base</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1001"></span><span>                                           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Natural
</span><a href="GHC.Num.Integer.html#integerToNatural"><span class="hs-identifier hs-var">integerToNatural</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034736"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1002"></span><span>
</span><span id="line-1003"></span><span class="hs-comment">-- | Logarithm (floor) for an arbitrary base</span><span>
</span><span id="line-1004"></span><span class="hs-comment">--</span><span>
</span><span id="line-1005"></span><span class="hs-comment">-- For numbers &lt;= 0, return 0</span><span>
</span><span id="line-1006"></span><span class="annot"><a href="GHC.Num.Integer.html#integerLogBase"><span class="hs-identifier hs-type">integerLogBase</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-1007"></span><span id="integerLogBase"><span class="annot"><span class="annottext">integerLogBase :: Integer -&gt; Integer -&gt; Word
</span><a href="GHC.Num.Integer.html#integerLogBase"><span class="hs-identifier hs-var hs-var">integerLogBase</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034734"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034734"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034733"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034733"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Word#
</span><a href="GHC.Num.Integer.html#integerLogBase%23"><span class="hs-identifier hs-var">integerLogBase#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034734"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034733"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1008"></span><span>
</span><span id="line-1009"></span><span class="hs-comment">-- | Indicate if the value is a power of two and which one</span><span>
</span><span id="line-1010"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsPowerOf2%23"><span class="hs-identifier hs-type">integerIsPowerOf2#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1011"></span><span id="integerIsPowerOf2%23"><span class="annot"><span class="annottext">integerIsPowerOf2# :: Integer -&gt; (# (# #) | Word# #)
</span><a href="GHC.Num.Integer.html#integerIsPowerOf2%23"><span class="hs-identifier hs-var hs-var">integerIsPowerOf2#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034731"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034731"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-1012"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#isTrue%23"><span class="hs-identifier hs-var">isTrue#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034731"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Bool#
</span><a href="../../ghc-prim/src/GHC.Prim.html#%3C%3D%23"><span class="hs-operator hs-var">&lt;=#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1013"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; (# (# #) | Word# #)
</span><a href="GHC.Num.Primitives.html#wordIsPowerOf2%23"><span class="hs-identifier hs-var">wordIsPowerOf2#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034731"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1014"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsPowerOf2%23"><span class="hs-identifier hs-var">integerIsPowerOf2#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1015"></span><span class="annot"><a href="GHC.Num.Integer.html#integerIsPowerOf2%23"><span class="hs-identifier hs-var">integerIsPowerOf2#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034729"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034729"><span class="hs-identifier hs-var">w</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; (# (# #) | Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatIsPowerOf2%23"><span class="hs-identifier hs-var">bigNatIsPowerOf2#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034729"><span class="hs-identifier hs-var">w</span></a></span><span class="hs-cpp">

#if WORD_SIZE_IN_BITS == 32
</span><span>
</span><span id="line-1019"></span><span class="hs-comment">-- | Convert an Int64# into an Integer on 32-bit architectures</span><span>
</span><span id="line-1020"></span><span class="hs-identifier">integerFromInt64#</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">Int64#</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">Integer</span><span>
</span><span id="line-1021"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">integerFromInt64#</span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-1022"></span><span class="hs-identifier">integerFromInt64#</span><span> </span><span class="hs-glyph">!</span><span class="hs-identifier">i</span><span>
</span><span id="line-1023"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="hs-identifier">isTrue#</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-identifier">i</span><span> </span><span class="hs-special">`</span><span class="hs-identifier">leInt64#</span><span class="hs-special">`</span><span> </span><span class="hs-identifier">intToInt64#</span><span>  </span><span class="hs-number">0x7FFFFFFF#</span><span class="hs-special">)</span><span>
</span><span id="line-1024"></span><span>      </span><span class="hs-operator">&amp;&amp;#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">i</span><span> </span><span class="hs-special">`</span><span class="hs-identifier">geInt64#</span><span class="hs-special">`</span><span> </span><span class="hs-identifier">intToInt64#</span><span> </span><span class="hs-number">-0x80000000#</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1025"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">IS</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">int64ToInt#</span><span> </span><span class="hs-identifier">i</span><span class="hs-special">)</span><span>
</span><span id="line-1026"></span><span>
</span><span id="line-1027"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="hs-identifier">isTrue#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">i</span><span> </span><span class="hs-special">`</span><span class="hs-identifier">geInt64#</span><span class="hs-special">`</span><span> </span><span class="hs-identifier">intToInt64#</span><span> </span><span class="hs-number">0#</span><span class="hs-special">)</span><span>
</span><span id="line-1028"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">IP</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatFromWord64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">int64ToWord64#</span><span> </span><span class="hs-identifier">i</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1029"></span><span>
</span><span id="line-1030"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="hs-identifier">True</span><span>
</span><span id="line-1031"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">IN</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatFromWord64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">int64ToWord64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">negateInt64#</span><span> </span><span class="hs-identifier">i</span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1032"></span><span>
</span><span id="line-1033"></span><span class="hs-comment">-- | Convert a Word64# into an Integer on 32-bit architectures</span><span>
</span><span id="line-1034"></span><span class="hs-identifier">integerFromWord64#</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">Word64#</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">Integer</span><span>
</span><span id="line-1035"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">integerFromWord64#</span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-1036"></span><span class="hs-identifier">integerFromWord64#</span><span> </span><span class="hs-glyph">!</span><span class="hs-identifier">w</span><span>
</span><span id="line-1037"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="hs-identifier">isTrue#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">w</span><span> </span><span class="hs-special">`</span><span class="hs-identifier">leWord64#</span><span class="hs-special">`</span><span> </span><span class="hs-identifier">wordToWord64#</span><span> </span><span class="hs-number">0x7FFFFFFF##</span><span class="hs-special">)</span><span>
</span><span id="line-1038"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">IS</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">int64ToInt#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">word64ToInt64#</span><span> </span><span class="hs-identifier">w</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1039"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="hs-identifier">True</span><span>
</span><span id="line-1040"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">IP</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatFromWord64#</span><span> </span><span class="hs-identifier">w</span><span class="hs-special">)</span><span>
</span><span id="line-1041"></span><span>
</span><span id="line-1042"></span><span class="hs-comment">-- | Convert an Integer into an Int64# on 32-bit architectures</span><span>
</span><span id="line-1043"></span><span class="hs-identifier">integerToInt64#</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">Integer</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">Int64#</span><span>
</span><span id="line-1044"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">integerToInt64#</span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-1045"></span><span class="hs-identifier">integerToInt64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">IS</span><span> </span><span class="hs-identifier">i</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">intToInt64#</span><span> </span><span class="hs-identifier">i</span><span>
</span><span id="line-1046"></span><span class="hs-identifier">integerToInt64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">IP</span><span> </span><span class="hs-identifier">b</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">word64ToInt64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatToWord64#</span><span> </span><span class="hs-identifier">b</span><span class="hs-special">)</span><span>
</span><span id="line-1047"></span><span class="hs-identifier">integerToInt64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">IN</span><span> </span><span class="hs-identifier">b</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">negateInt64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">word64ToInt64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatToWord64#</span><span> </span><span class="hs-identifier">b</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1048"></span><span>
</span><span id="line-1049"></span><span class="hs-comment">-- | Convert an Integer into a Word64# on 32-bit architectures</span><span>
</span><span id="line-1050"></span><span class="hs-identifier">integerToWord64#</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">Integer</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">Word64#</span><span>
</span><span id="line-1051"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="hs-pragma">integerToWord64#</span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-1052"></span><span class="hs-identifier">integerToWord64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">IS</span><span> </span><span class="hs-identifier">i</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">int64ToWord64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">intToInt64#</span><span> </span><span class="hs-identifier">i</span><span class="hs-special">)</span><span>
</span><span id="line-1053"></span><span class="hs-identifier">integerToWord64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">IP</span><span> </span><span class="hs-identifier">b</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">bigNatToWord64#</span><span> </span><span class="hs-identifier">b</span><span>
</span><span id="line-1054"></span><span class="hs-identifier">integerToWord64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">IN</span><span> </span><span class="hs-identifier">b</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">int64ToWord64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">negateInt64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">word64ToInt64#</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">bigNatToWord64#</span><span> </span><span class="hs-identifier">b</span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-cpp">

#else
</span><span>
</span><span id="line-1058"></span><span class="hs-comment">-- | Convert an Int64# into an Integer on 64-bit architectures</span><span>
</span><span id="line-1059"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromInt64%23"><span class="hs-identifier hs-type">integerFromInt64#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-1060"></span><span id="integerFromInt64%23"><span class="annot"><span class="annottext">integerFromInt64# :: Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromInt64%23"><span class="hs-identifier hs-var hs-var">integerFromInt64#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034727"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034727"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-var">IS</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034727"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-cpp">

#endif
</span><span>
</span><span id="line-1064"></span><span class="hs-comment">----------------------------------------------------------------------------</span><span>
</span><span id="line-1065"></span><span class="hs-comment">-- Conversions to/from floating point</span><span>
</span><span id="line-1066"></span><span class="hs-comment">----------------------------------------------------------------------------</span><span>
</span><span id="line-1067"></span><span>
</span><span id="line-1068"></span><span class="hs-comment">-- | Decode a Double# into (# Integer mantissa, Int# exponent #)</span><span>
</span><span id="line-1069"></span><span class="annot"><a href="GHC.Num.Integer.html#integerDecodeDouble%23"><span class="hs-identifier hs-type">integerDecodeDouble#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Double%23"><span class="hs-identifier hs-type">Double#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1070"></span><span class="hs-pragma">{-# INLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerDecodeDouble%23"><span class="hs-pragma hs-type">integerDecodeDouble#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-comment">-- decodeDouble_Int64# is constant-folded</span><span>
</span><span id="line-1071"></span><span>                                    </span><span class="hs-comment">-- in GHC.Core.Opt.ConstantFold</span><span>
</span><span id="line-1072"></span><span id="integerDecodeDouble%23"><span class="annot"><span class="annottext">integerDecodeDouble# :: Double# -&gt; (# Integer, Bool# #)
</span><a href="GHC.Num.Integer.html#integerDecodeDouble%23"><span class="hs-identifier hs-var hs-var">integerDecodeDouble#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034725"><span class="annot"><span class="annottext">Double#
</span><a href="#local-6989586621679034725"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Double# -&gt; (# Bool#, Bool# #)
</span><a href="../../ghc-prim/src/GHC.Prim.html#decodeDouble_Int64%23"><span class="hs-identifier hs-var">decodeDouble_Int64#</span></a></span><span> </span><span class="annot"><span class="annottext">Double#
</span><a href="#local-6989586621679034725"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1073"></span><span>                            </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034724"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034724"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034723"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034723"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromInt64%23"><span class="hs-identifier hs-var">integerFromInt64#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034724"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034723"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1074"></span><span>
</span><span id="line-1075"></span><span class="hs-comment">-- | Encode (# Integer mantissa, Int# exponent #) into a Double#</span><span>
</span><span id="line-1076"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEncodeDouble%23"><span class="hs-identifier hs-type">integerEncodeDouble#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Double%23"><span class="hs-identifier hs-type">Double#</span></a></span><span>
</span><span id="line-1077"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerEncodeDouble%23"><span class="hs-pragma hs-type">integerEncodeDouble#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-1078"></span><span id="integerEncodeDouble%23"><span class="annot"><span class="annottext">integerEncodeDouble# :: Integer -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.Integer.html#integerEncodeDouble%23"><span class="hs-identifier hs-var hs-var">integerEncodeDouble#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034722"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034722"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Double#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Double%23"><span class="hs-identifier hs-var">int2Double#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034722"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-1079"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEncodeDouble%23"><span class="hs-identifier hs-var">integerEncodeDouble#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034721"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034721"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034720"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034720"><span class="hs-identifier hs-var">e</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool# -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.Primitives.html#intEncodeDouble%23"><span class="hs-identifier hs-var">intEncodeDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034721"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034720"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-1080"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEncodeDouble%23"><span class="hs-identifier hs-var">integerEncodeDouble#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034718"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034718"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034717"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034717"><span class="hs-identifier hs-var">e</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.BigNat.html#bigNatEncodeDouble%23"><span class="hs-identifier hs-var">bigNatEncodeDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034718"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034717"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-1081"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEncodeDouble%23"><span class="hs-identifier hs-var">integerEncodeDouble#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034715"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034715"><span class="hs-identifier hs-var">b</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679034714"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034714"><span class="hs-identifier hs-var">e</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Double# -&gt; Double#
</span><a href="../../ghc-prim/src/GHC.Prim.html#negateDouble%23"><span class="hs-identifier hs-var">negateDouble#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteArray# -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.BigNat.html#bigNatEncodeDouble%23"><span class="hs-identifier hs-var">bigNatEncodeDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034715"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034714"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1082"></span><span>
</span><span id="line-1083"></span><span class="hs-comment">-- | Encode (Integer mantissa, Int exponent) into a Double</span><span>
</span><span id="line-1084"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEncodeDouble"><span class="hs-identifier hs-type">integerEncodeDouble</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Double"><span class="hs-identifier hs-type">Double</span></a></span><span>
</span><span id="line-1085"></span><span id="integerEncodeDouble"><span class="annot"><span class="annottext">integerEncodeDouble :: Integer -&gt; Int -&gt; Double
</span><a href="GHC.Num.Integer.html#integerEncodeDouble"><span class="hs-identifier hs-var hs-var">integerEncodeDouble</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034712"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034712"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#I%23"><span class="hs-identifier hs-type">I#</span></a></span><span> </span><span id="local-6989586621679034711"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034711"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Double# -&gt; Double
</span><a href="../../ghc-prim/src/GHC.Types.html#D%23"><span class="hs-identifier hs-var">D#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.Integer.html#integerEncodeDouble%23"><span class="hs-identifier hs-var">integerEncodeDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034712"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034711"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1086"></span><span>
</span><span id="line-1087"></span><span class="hs-comment">-- | Encode an Integer (mantissa) into a Double#</span><span>
</span><span id="line-1088"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToDouble%23"><span class="hs-identifier hs-type">integerToDouble#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Double%23"><span class="hs-identifier hs-type">Double#</span></a></span><span>
</span><span id="line-1089"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerToDouble%23"><span class="hs-pragma hs-type">integerToDouble#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-1090"></span><span id="integerToDouble%23"><span class="annot"><span class="annottext">integerToDouble# :: Integer -&gt; Double#
</span><a href="GHC.Num.Integer.html#integerToDouble%23"><span class="hs-identifier hs-var hs-var">integerToDouble#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034710"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034710"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.Integer.html#integerEncodeDouble%23"><span class="hs-identifier hs-var">integerEncodeDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034710"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-1091"></span><span>
</span><span id="line-1092"></span><span class="hs-comment">-- | Encode an Integer (mantissa) into a Float#</span><span>
</span><span id="line-1093"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToFloat%23"><span class="hs-identifier hs-type">integerToFloat#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Float%23"><span class="hs-identifier hs-type">Float#</span></a></span><span>
</span><span id="line-1094"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerToFloat%23"><span class="hs-pragma hs-type">integerToFloat#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-1095"></span><span id="integerToFloat%23"><span class="annot"><span class="annottext">integerToFloat# :: Integer -&gt; Float#
</span><a href="GHC.Num.Integer.html#integerToFloat%23"><span class="hs-identifier hs-var hs-var">integerToFloat#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034709"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034709"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool# -&gt; Float#
</span><a href="GHC.Num.Integer.html#integerEncodeFloat%23"><span class="hs-identifier hs-var">integerEncodeFloat#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034709"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span>
</span><span id="line-1096"></span><span>
</span><span id="line-1097"></span><span class="hs-comment">-- | Encode (# Integer mantissa, Int# exponent #) into a Float#</span><span>
</span><span id="line-1098"></span><span class="hs-comment">--</span><span>
</span><span id="line-1099"></span><span class="hs-comment">-- TODO: Not sure if it's worth to write 'Float' optimized versions here</span><span>
</span><span id="line-1100"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEncodeFloat%23"><span class="hs-identifier hs-type">integerEncodeFloat#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Int%23"><span class="hs-identifier hs-type">Int#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Float%23"><span class="hs-identifier hs-type">Float#</span></a></span><span>
</span><span id="line-1101"></span><span class="hs-pragma">{-# NOINLINE</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#integerEncodeFloat%23"><span class="hs-pragma hs-type">integerEncodeFloat#</span></a></span><span> </span><span class="hs-pragma">#-}</span><span>
</span><span id="line-1102"></span><span id="integerEncodeFloat%23"><span class="annot"><span class="annottext">integerEncodeFloat# :: Integer -&gt; Bool# -&gt; Float#
</span><a href="GHC.Num.Integer.html#integerEncodeFloat%23"><span class="hs-identifier hs-var hs-var">integerEncodeFloat#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034708"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034708"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><span class="hs-number">0#</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Double# -&gt; Float#
</span><a href="../../ghc-prim/src/GHC.Prim.html#double2Float%23"><span class="hs-identifier hs-var">double2Float#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Double#
</span><a href="GHC.Num.Integer.html#integerToDouble%23"><span class="hs-identifier hs-var">integerToDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034708"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1103"></span><span class="annot"><a href="GHC.Num.Integer.html#integerEncodeFloat%23"><span class="hs-identifier hs-var">integerEncodeFloat#</span></a></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034707"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034707"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621679034706"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034706"><span class="hs-identifier hs-var">e</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Double# -&gt; Float#
</span><a href="../../ghc-prim/src/GHC.Prim.html#double2Float%23"><span class="hs-identifier hs-var">double2Float#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Bool# -&gt; Double#
</span><a href="GHC.Num.Integer.html#integerEncodeDouble%23"><span class="hs-identifier hs-var">integerEncodeDouble#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034707"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034706"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1104"></span><span>
</span><span id="line-1105"></span><span class="hs-comment">-- | Compute the number of digits of the Integer (without the sign) in the given base.</span><span>
</span><span id="line-1106"></span><span class="hs-comment">--</span><span>
</span><span id="line-1107"></span><span class="hs-comment">-- `base` must be &gt; 1</span><span>
</span><span id="line-1108"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSizeInBase%23"><span class="hs-identifier hs-type">integerSizeInBase#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span>
</span><span id="line-1109"></span><span id="integerSizeInBase%23"><span class="annot"><span class="annottext">integerSizeInBase# :: Word# -&gt; Integer -&gt; Word#
</span><a href="GHC.Num.Integer.html#integerSizeInBase%23"><span class="hs-identifier hs-var hs-var">integerSizeInBase#</span></a></span></span><span> </span><span id="local-6989586621679034704"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034704"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034703"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034703"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word# -&gt; Word#
</span><a href="GHC.Num.Primitives.html#wordSizeInBase%23"><span class="hs-identifier hs-var">wordSizeInBase#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034704"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#absI%23"><span class="hs-identifier hs-var">absI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034703"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1110"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSizeInBase%23"><span class="hs-identifier hs-var">integerSizeInBase#</span></a></span><span> </span><span id="local-6989586621679034701"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034701"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034700"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034700"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatSizeInBase%23"><span class="hs-identifier hs-var">bigNatSizeInBase#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034701"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034700"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-1111"></span><span class="annot"><a href="GHC.Num.Integer.html#integerSizeInBase%23"><span class="hs-identifier hs-var">integerSizeInBase#</span></a></span><span> </span><span id="local-6989586621679034698"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034698"><span class="hs-identifier hs-var">base</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034697"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034697"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; ByteArray# -&gt; Word#
</span><a href="GHC.Num.BigNat.html#bigNatSizeInBase%23"><span class="hs-identifier hs-var">bigNatSizeInBase#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034698"><span class="hs-identifier hs-var">base</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034697"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-1112"></span><span>
</span><span id="line-1113"></span><span class="hs-comment">-- | Write an 'Integer' (without sign) to @/addr/@ in base-256 representation</span><span>
</span><span id="line-1114"></span><span class="hs-comment">-- and return the number of bytes written.</span><span>
</span><span id="line-1115"></span><span class="hs-comment">--</span><span>
</span><span id="line-1116"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: write most significant</span><span>
</span><span id="line-1117"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-1118"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-1119"></span><span id="local-6989586621679035260"><span class="annot"><a href="GHC.Num.Integer.html#integerToAddr%23"><span class="hs-identifier hs-type">integerToAddr#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Addr%23"><span class="hs-identifier hs-type">Addr#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679035260"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679035260"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-1120"></span><span id="integerToAddr%23"><span class="annot"><span class="annottext">integerToAddr# :: forall s.
Integer -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Integer.html#integerToAddr%23"><span class="hs-identifier hs-var hs-var">integerToAddr#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034695"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034695"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
forall s.
Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Primitives.html#wordToAddr%23"><span class="hs-identifier hs-var">wordToAddr#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#absI%23"><span class="hs-identifier hs-var">absI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034695"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1121"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToAddr%23"><span class="hs-identifier hs-var">integerToAddr#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034693"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034693"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
forall s.
ByteArray# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatToAddr%23"><span class="hs-identifier hs-var">bigNatToAddr#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034693"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-1122"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToAddr%23"><span class="hs-identifier hs-var">integerToAddr#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034691"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034691"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
forall s.
ByteArray# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatToAddr%23"><span class="hs-identifier hs-var">bigNatToAddr#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034691"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-1123"></span><span>
</span><span id="line-1124"></span><span class="hs-comment">-- | Write an 'Integer' (without sign) to @/addr/@ in base-256 representation</span><span>
</span><span id="line-1125"></span><span class="hs-comment">-- and return the number of bytes written.</span><span>
</span><span id="line-1126"></span><span class="hs-comment">--</span><span>
</span><span id="line-1127"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: write most significant</span><span>
</span><span id="line-1128"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-1129"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-1130"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToAddr"><span class="hs-identifier hs-type">integerToAddr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Addr%23"><span class="hs-identifier hs-type">Addr#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-1131"></span><span id="integerToAddr"><span class="annot"><span class="annottext">integerToAddr :: Integer -&gt; Addr# -&gt; Bool# -&gt; IO Word
</span><a href="GHC.Num.Integer.html#integerToAddr"><span class="hs-identifier hs-var hs-var">integerToAddr</span></a></span></span><span> </span><span id="local-6989586621679034689"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034689"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679034688"><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679034688"><span class="hs-identifier hs-var">addr</span></a></span></span><span> </span><span id="local-6989586621679034687"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034687"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(State# RealWorld -&gt; (# State# RealWorld, Word #)) -&gt; IO Word
forall a. (State# RealWorld -&gt; (# State# RealWorld, a #)) -&gt; IO a
</span><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-var">IO</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679034686"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679034686"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
-&gt; Addr#
-&gt; Bool#
-&gt; State# RealWorld
-&gt; (# State# RealWorld, Word# #)
forall s.
Integer -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Integer.html#integerToAddr%23"><span class="hs-identifier hs-var">integerToAddr#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034689"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679034688"><span class="hs-identifier hs-var">addr</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034687"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679034686"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1132"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034685"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679034685"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034684"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034684"><span class="hs-identifier hs-var">w</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679034685"><span class="hs-identifier hs-var">s'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034684"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1133"></span><span>
</span><span id="line-1134"></span><span class="hs-comment">-- | Read an 'Integer' (without sign) in base-256 representation from an Addr#.</span><span>
</span><span id="line-1135"></span><span class="hs-comment">--</span><span>
</span><span id="line-1136"></span><span class="hs-comment">-- The size is given in bytes.</span><span>
</span><span id="line-1137"></span><span class="hs-comment">--</span><span>
</span><span id="line-1138"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: most significant</span><span>
</span><span id="line-1139"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-1140"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-1141"></span><span class="hs-comment">--</span><span>
</span><span id="line-1142"></span><span class="hs-comment">-- Null higher limbs are automatically trimed.</span><span>
</span><span id="line-1143"></span><span id="local-6989586621679035255"><span class="annot"><a href="GHC.Num.Integer.html#integerFromAddr%23"><span class="hs-identifier hs-type">integerFromAddr#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Addr%23"><span class="hs-identifier hs-type">Addr#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679035255"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679035255"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-1144"></span><span id="integerFromAddr%23"><span class="annot"><span class="annottext">integerFromAddr# :: forall s.
Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Integer #)
</span><a href="GHC.Num.Integer.html#integerFromAddr%23"><span class="hs-identifier hs-var hs-var">integerFromAddr#</span></a></span></span><span> </span><span id="local-6989586621679034682"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034682"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679034681"><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679034681"><span class="hs-identifier hs-var">addr</span></a></span></span><span> </span><span id="local-6989586621679034680"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034680"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span id="local-6989586621679034679"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679034679"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-1145"></span><span>   </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, ByteArray# #)
forall s.
Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatFromAddr%23"><span class="hs-identifier hs-var">bigNatFromAddr#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034682"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679034681"><span class="hs-identifier hs-var">addr</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034680"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679034679"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1146"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034677"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679034677"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034676"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034676"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679034677"><span class="hs-identifier hs-var">s'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034676"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1147"></span><span>
</span><span id="line-1148"></span><span class="hs-comment">-- | Read an 'Integer' (without sign) in base-256 representation from an Addr#.</span><span>
</span><span id="line-1149"></span><span class="hs-comment">--</span><span>
</span><span id="line-1150"></span><span class="hs-comment">-- The size is given in bytes.</span><span>
</span><span id="line-1151"></span><span class="hs-comment">--</span><span>
</span><span id="line-1152"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: most significant</span><span>
</span><span id="line-1153"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-1154"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-1155"></span><span class="hs-comment">--</span><span>
</span><span id="line-1156"></span><span class="hs-comment">-- Null higher limbs are automatically trimed.</span><span>
</span><span id="line-1157"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromAddr"><span class="hs-identifier hs-type">integerFromAddr</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Addr%23"><span class="hs-identifier hs-type">Addr#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-1158"></span><span id="integerFromAddr"><span class="annot"><span class="annottext">integerFromAddr :: Word# -&gt; Addr# -&gt; Bool# -&gt; IO Integer
</span><a href="GHC.Num.Integer.html#integerFromAddr"><span class="hs-identifier hs-var hs-var">integerFromAddr</span></a></span></span><span> </span><span id="local-6989586621679034674"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034674"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679034673"><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679034673"><span class="hs-identifier hs-var">addr</span></a></span></span><span> </span><span id="local-6989586621679034672"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034672"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(State# RealWorld -&gt; (# State# RealWorld, Integer #)) -&gt; IO Integer
forall a. (State# RealWorld -&gt; (# State# RealWorld, a #)) -&gt; IO a
</span><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-var">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
-&gt; Addr#
-&gt; Bool#
-&gt; State# RealWorld
-&gt; (# State# RealWorld, Integer #)
forall s.
Word# -&gt; Addr# -&gt; Bool# -&gt; State# s -&gt; (# State# s, Integer #)
</span><a href="GHC.Num.Integer.html#integerFromAddr%23"><span class="hs-identifier hs-var">integerFromAddr#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034674"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">Addr#
</span><a href="#local-6989586621679034673"><span class="hs-identifier hs-var">addr</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034672"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1159"></span><span>
</span><span id="line-1160"></span><span>
</span><span id="line-1161"></span><span>
</span><span id="line-1162"></span><span class="hs-comment">-- | Write an 'Integer' (without sign) in base-256 representation and return the</span><span>
</span><span id="line-1163"></span><span class="hs-comment">-- number of bytes written.</span><span>
</span><span id="line-1164"></span><span class="hs-comment">--</span><span>
</span><span id="line-1165"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: most significant</span><span>
</span><span id="line-1166"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-1167"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-1168"></span><span id="local-6989586621679035252"><span class="annot"><a href="GHC.Num.Integer.html#integerToMutableByteArray%23"><span class="hs-identifier hs-type">integerToMutableByteArray#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#MutableByteArray%23"><span class="hs-identifier hs-type">MutableByteArray#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679035252"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679035252"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679035252"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-1169"></span><span id="integerToMutableByteArray%23"><span class="annot"><span class="annottext">integerToMutableByteArray# :: forall s.
Integer
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Integer.html#integerToMutableByteArray%23"><span class="hs-identifier hs-var hs-var">integerToMutableByteArray#</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IS"><span class="hs-identifier hs-type">IS</span></a></span><span> </span><span id="local-6989586621679034670"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034670"><span class="hs-identifier hs-var">i</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Word#
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
forall s.
Word#
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Primitives.html#wordToMutableByteArray%23"><span class="hs-identifier hs-var">wordToMutableByteArray#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Word#
</span><a href="../../ghc-prim/src/GHC.Prim.html#int2Word%23"><span class="hs-identifier hs-var">int2Word#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool# -&gt; Bool#
</span><a href="GHC.Num.Primitives.html#absI%23"><span class="hs-identifier hs-var">absI#</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034670"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1170"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToMutableByteArray%23"><span class="hs-identifier hs-var">integerToMutableByteArray#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IP"><span class="hs-identifier hs-type">IP</span></a></span><span> </span><span id="local-6989586621679034668"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034668"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray#
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
forall s.
ByteArray#
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatToMutableByteArray%23"><span class="hs-identifier hs-var">bigNatToMutableByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034668"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-1171"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToMutableByteArray%23"><span class="hs-identifier hs-var">integerToMutableByteArray#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Num.Integer.html#IN"><span class="hs-identifier hs-type">IN</span></a></span><span> </span><span id="local-6989586621679034666"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034666"><span class="hs-identifier hs-var">a</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ByteArray#
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
forall s.
ByteArray#
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
</span><a href="GHC.Num.BigNat.html#bigNatToMutableByteArray%23"><span class="hs-identifier hs-var">bigNatToMutableByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034666"><span class="hs-identifier hs-var">a</span></a></span><span>
</span><span id="line-1172"></span><span>
</span><span id="line-1173"></span><span class="hs-comment">-- | Write an 'Integer' (without sign) in base-256 representation and return the</span><span>
</span><span id="line-1174"></span><span class="hs-comment">-- number of bytes written.</span><span>
</span><span id="line-1175"></span><span class="hs-comment">--</span><span>
</span><span id="line-1176"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: most significant</span><span>
</span><span id="line-1177"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-1178"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-1179"></span><span class="annot"><a href="GHC.Num.Integer.html#integerToMutableByteArray"><span class="hs-identifier hs-type">integerToMutableByteArray</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#MutableByteArray%23"><span class="hs-identifier hs-type">MutableByteArray#</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#RealWorld"><span class="hs-identifier hs-type">RealWorld</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Word"><span class="hs-identifier hs-type">Word</span></a></span><span>
</span><span id="line-1180"></span><span id="integerToMutableByteArray"><span class="annot"><span class="annottext">integerToMutableByteArray :: Integer -&gt; MutableByteArray# RealWorld -&gt; Word# -&gt; Bool# -&gt; IO Word
</span><a href="GHC.Num.Integer.html#integerToMutableByteArray"><span class="hs-identifier hs-var hs-var">integerToMutableByteArray</span></a></span></span><span> </span><span id="local-6989586621679034664"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034664"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span id="local-6989586621679034663"><span class="annot"><span class="annottext">MutableByteArray# RealWorld
</span><a href="#local-6989586621679034663"><span class="hs-identifier hs-var">mba</span></a></span></span><span> </span><span id="local-6989586621679034662"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034662"><span class="hs-identifier hs-var">w</span></a></span></span><span> </span><span id="local-6989586621679034661"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034661"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(State# RealWorld -&gt; (# State# RealWorld, Word #)) -&gt; IO Word
forall a. (State# RealWorld -&gt; (# State# RealWorld, a #)) -&gt; IO a
</span><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-var">IO</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621679034660"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679034660"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer
-&gt; MutableByteArray# RealWorld
-&gt; Word#
-&gt; Bool#
-&gt; State# RealWorld
-&gt; (# State# RealWorld, Word# #)
forall s.
Integer
-&gt; MutableByteArray# s
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Word# #)
</span><a href="GHC.Num.Integer.html#integerToMutableByteArray%23"><span class="hs-identifier hs-var">integerToMutableByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034664"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="annot"><span class="annottext">MutableByteArray# RealWorld
</span><a href="#local-6989586621679034663"><span class="hs-identifier hs-var">mba</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034662"><span class="hs-identifier hs-var">w</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034661"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679034660"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1181"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034659"><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679034659"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034658"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034658"><span class="hs-identifier hs-var">r</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><a href="#local-6989586621679034659"><span class="hs-identifier hs-var">s'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Word# -&gt; Word
</span><a href="../../ghc-prim/src/GHC.Types.html#W%23"><span class="hs-identifier hs-var">W#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034658"><span class="hs-identifier hs-var">r</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1182"></span><span>
</span><span id="line-1183"></span><span class="hs-comment">-- | Read an 'Integer' (without sign) in base-256 representation from a ByteArray#.</span><span>
</span><span id="line-1184"></span><span class="hs-comment">--</span><span>
</span><span id="line-1185"></span><span class="hs-comment">-- The size is given in bytes.</span><span>
</span><span id="line-1186"></span><span class="hs-comment">--</span><span>
</span><span id="line-1187"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: most significant</span><span>
</span><span id="line-1188"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-1189"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-1190"></span><span class="hs-comment">--</span><span>
</span><span id="line-1191"></span><span class="hs-comment">-- Null higher limbs are automatically trimed.</span><span>
</span><span id="line-1192"></span><span id="local-6989586621679035248"><span class="annot"><a href="GHC.Num.Integer.html#integerFromByteArray%23"><span class="hs-identifier hs-type">integerFromByteArray#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#ByteArray%23"><span class="hs-identifier hs-type">ByteArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679035248"><span class="hs-identifier hs-type">s</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#State%23"><span class="hs-identifier hs-type">State#</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679035248"><span class="hs-identifier hs-type">s</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-special">#)</span></span><span>
</span><span id="line-1193"></span><span id="integerFromByteArray%23"><span class="annot"><span class="annottext">integerFromByteArray# :: forall s.
Word#
-&gt; ByteArray#
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Integer #)
</span><a href="GHC.Num.Integer.html#integerFromByteArray%23"><span class="hs-identifier hs-var hs-var">integerFromByteArray#</span></a></span></span><span> </span><span id="local-6989586621679034656"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034656"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679034655"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034655"><span class="hs-identifier hs-var">ba</span></a></span></span><span> </span><span id="local-6989586621679034654"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034654"><span class="hs-identifier hs-var">off</span></a></span></span><span> </span><span id="local-6989586621679034653"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034653"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span id="local-6989586621679034652"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679034652"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Word#
-&gt; ByteArray#
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, ByteArray# #)
forall s.
Word#
-&gt; ByteArray#
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, ByteArray# #)
</span><a href="GHC.Num.BigNat.html#bigNatFromByteArray%23"><span class="hs-identifier hs-var">bigNatFromByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034656"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034655"><span class="hs-identifier hs-var">ba</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034654"><span class="hs-identifier hs-var">off</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034653"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679034652"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1194"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034650"><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679034650"><span class="hs-identifier hs-var">s'</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034649"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034649"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# s
</span><a href="#local-6989586621679034650"><span class="hs-identifier hs-var">s'</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">ByteArray# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromBigNat%23"><span class="hs-identifier hs-var">integerFromBigNat#</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034649"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1195"></span><span>
</span><span id="line-1196"></span><span class="hs-comment">-- | Read an 'Integer' (without sign) in base-256 representation from a ByteArray#.</span><span>
</span><span id="line-1197"></span><span class="hs-comment">--</span><span>
</span><span id="line-1198"></span><span class="hs-comment">-- The size is given in bytes.</span><span>
</span><span id="line-1199"></span><span class="hs-comment">--</span><span>
</span><span id="line-1200"></span><span class="hs-comment">-- The endianness is selected with the Bool# parameter: most significant</span><span>
</span><span id="line-1201"></span><span class="hs-comment">-- byte first (big-endian) if @1#@ or least significant byte first</span><span>
</span><span id="line-1202"></span><span class="hs-comment">-- (little-endian) if @0#@.</span><span>
</span><span id="line-1203"></span><span class="hs-comment">--</span><span>
</span><span id="line-1204"></span><span class="hs-comment">-- Null higher limbs are automatically trimed.</span><span>
</span><span id="line-1205"></span><span class="annot"><a href="GHC.Num.Integer.html#integerFromByteArray"><span class="hs-identifier hs-type">integerFromByteArray</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#ByteArray%23"><span class="hs-identifier hs-type">ByteArray#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Prim.html#Word%23"><span class="hs-identifier hs-type">Word#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Primitives.html#Bool%23"><span class="hs-identifier hs-type">Bool#</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-1206"></span><span id="integerFromByteArray"><span class="annot"><span class="annottext">integerFromByteArray :: Word# -&gt; ByteArray# -&gt; Word# -&gt; Bool# -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromByteArray"><span class="hs-identifier hs-var hs-var">integerFromByteArray</span></a></span></span><span> </span><span id="local-6989586621679034647"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034647"><span class="hs-identifier hs-var">sz</span></a></span></span><span> </span><span id="local-6989586621679034646"><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034646"><span class="hs-identifier hs-var">ba</span></a></span></span><span> </span><span id="local-6989586621679034645"><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034645"><span class="hs-identifier hs-var">off</span></a></span></span><span> </span><span id="local-6989586621679034644"><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034644"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">(State# RealWorld -&gt; (# State# RealWorld, Integer #))
-&gt; (# State# RealWorld, Integer #)
forall o. (State# RealWorld -&gt; o) -&gt; o
</span><a href="../../ghc-prim/src/GHC.Magic.html#runRW%23"><span class="hs-identifier hs-var">runRW#</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word#
-&gt; ByteArray#
-&gt; Word#
-&gt; Bool#
-&gt; State# RealWorld
-&gt; (# State# RealWorld, Integer #)
forall s.
Word#
-&gt; ByteArray#
-&gt; Word#
-&gt; Bool#
-&gt; State# s
-&gt; (# State# s, Integer #)
</span><a href="GHC.Num.Integer.html#integerFromByteArray%23"><span class="hs-identifier hs-var">integerFromByteArray#</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034647"><span class="hs-identifier hs-var">sz</span></a></span><span> </span><span class="annot"><span class="annottext">ByteArray#
</span><a href="#local-6989586621679034646"><span class="hs-identifier hs-var">ba</span></a></span><span> </span><span class="annot"><span class="annottext">Word#
</span><a href="#local-6989586621679034645"><span class="hs-identifier hs-var">off</span></a></span><span> </span><span class="annot"><span class="annottext">Bool#
</span><a href="#local-6989586621679034644"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1207"></span><span>   </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">State# RealWorld
</span><span class="hs-identifier">_</span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034643"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034643"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034643"><span class="hs-identifier hs-var">i</span></a></span><span>
</span><span id="line-1208"></span><span>
</span><span id="line-1209"></span><span>
</span><span id="line-1210"></span><span class="hs-comment">-- | Get the extended GCD of two integers.</span><span>
</span><span id="line-1211"></span><span class="hs-comment">--</span><span>
</span><span id="line-1212"></span><span class="hs-comment">-- `integerGcde# a b` returns (# g,x,y #) where</span><span>
</span><span id="line-1213"></span><span class="hs-comment">--    * ax + by = g = |gcd a b|</span><span>
</span><span id="line-1214"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcde%23"><span class="hs-identifier hs-type">integerGcde#</span></a></span><span>
</span><span id="line-1215"></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-1216"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-1217"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1218"></span><span id="integerGcde%23"><span class="annot"><span class="annottext">integerGcde# :: Integer -&gt; Integer -&gt; (# Integer, Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerGcde%23"><span class="hs-identifier hs-var hs-var">integerGcde#</span></a></span></span><span> </span><span id="local-6989586621679034641"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034641"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679034640"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034640"><span class="hs-identifier hs-var">b</span></a></span></span><span>
</span><span id="line-1219"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsZero"><span class="hs-identifier hs-var">integerIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034641"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%26%26"><span class="hs-operator hs-var">&amp;&amp;</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsZero"><span class="hs-identifier hs-var">integerIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034640"><span class="hs-identifier hs-var">b</span></a></span><span>    </span><span class="hs-glyph">=</span><span>     </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerZero"><span class="hs-identifier hs-var">integerZero</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerZero"><span class="hs-identifier hs-var">integerZero</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerZero"><span class="hs-identifier hs-var">integerZero</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1220"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsZero"><span class="hs-identifier hs-var">integerIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034641"><span class="hs-identifier hs-var">a</span></a></span><span>                       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(# Integer, Integer, Integer #) -&gt; (# Integer, Integer, Integer #)
</span><a href="#local-6989586621679034638"><span class="hs-identifier hs-var">fix</span></a></span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034640"><span class="hs-identifier hs-var">b</span></a></span><span>          </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerZero"><span class="hs-identifier hs-var">integerZero</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerOne"><span class="hs-identifier hs-var">integerOne</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1221"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsZero"><span class="hs-identifier hs-var">integerIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034640"><span class="hs-identifier hs-var">b</span></a></span><span>                       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(# Integer, Integer, Integer #) -&gt; (# Integer, Integer, Integer #)
</span><a href="#local-6989586621679034638"><span class="hs-identifier hs-var">fix</span></a></span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034641"><span class="hs-identifier hs-var">a</span></a></span><span>          </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerOne"><span class="hs-identifier hs-var">integerOne</span></a></span><span class="hs-special">,</span><span>  </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerZero"><span class="hs-identifier hs-var">integerZero</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1222"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034641"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerEq"><span class="hs-operator hs-var">`integerEq`</span></a></span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerAbs"><span class="hs-identifier hs-var">integerAbs</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034640"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(# Integer, Integer, Integer #) -&gt; (# Integer, Integer, Integer #)
</span><a href="#local-6989586621679034638"><span class="hs-identifier hs-var">fix</span></a></span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034640"><span class="hs-identifier hs-var">b</span></a></span><span>          </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerZero"><span class="hs-identifier hs-var">integerZero</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="GHC.Num.Integer.html#integerOne"><span class="hs-identifier hs-var">integerOne</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1223"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; (# Integer, Integer, Integer #)
</span><a href="GHC.Num.Backend.GMP.html#integer_gcde"><span class="hs-identifier hs-var">Backend.integer_gcde</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034641"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034640"><span class="hs-identifier hs-var">b</span></a></span><span>
</span><span id="line-1224"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-1225"></span><span>      </span><span class="hs-comment">-- returned &quot;g&quot; must be positive</span><span>
</span><span id="line-1226"></span><span>      </span><span id="local-6989586621679034638"><span class="annot"><span class="annottext">fix :: (# Integer, Integer, Integer #) -&gt; (# Integer, Integer, Integer #)
</span><a href="#local-6989586621679034638"><span class="hs-identifier hs-var hs-var">fix</span></a></span></span><span> </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034636"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034636"><span class="hs-identifier hs-var">g</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034635"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034635"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621679034634"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034634"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1227"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsNegative"><span class="hs-identifier hs-var">integerIsNegative</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034636"><span class="hs-identifier hs-var">g</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034636"><span class="hs-identifier hs-var">g</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034635"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034634"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1228"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034636"><span class="hs-identifier hs-var">g</span></a></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034635"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034634"><span class="hs-identifier hs-var">y</span></a></span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1229"></span><span>
</span><span id="line-1230"></span><span class="hs-comment">-- | Get the extended GCD of two integers.</span><span>
</span><span id="line-1231"></span><span class="hs-comment">--</span><span>
</span><span id="line-1232"></span><span class="hs-comment">-- `integerGcde a b` returns (g,x,y) where</span><span>
</span><span id="line-1233"></span><span class="hs-comment">--    * ax + by = g = |gcd a b|</span><span>
</span><span id="line-1234"></span><span class="annot"><a href="GHC.Num.Integer.html#integerGcde"><span class="hs-identifier hs-type">integerGcde</span></a></span><span>
</span><span id="line-1235"></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-1236"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-1237"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1238"></span><span id="integerGcde"><span class="annot"><span class="annottext">integerGcde :: Integer -&gt; Integer -&gt; (Integer, Integer, Integer)
</span><a href="GHC.Num.Integer.html#integerGcde"><span class="hs-identifier hs-var hs-var">integerGcde</span></a></span></span><span> </span><span id="local-6989586621679034632"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034632"><span class="hs-identifier hs-var">a</span></a></span></span><span> </span><span id="local-6989586621679034631"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034631"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; (# Integer, Integer, Integer #)
</span><a href="GHC.Num.Integer.html#integerGcde%23"><span class="hs-identifier hs-var">integerGcde#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034632"><span class="hs-identifier hs-var">a</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034631"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1239"></span><span>   </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034630"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034630"><span class="hs-identifier hs-var">g</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679034629"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034629"><span class="hs-identifier hs-var">x</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621679034628"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034628"><span class="hs-identifier hs-var">y</span></a></span></span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034630"><span class="hs-identifier hs-var">g</span></a></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034629"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034628"><span class="hs-identifier hs-var">y</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1240"></span><span>
</span><span id="line-1241"></span><span>
</span><span id="line-1242"></span><span class="hs-comment">-- | Computes the modular inverse.</span><span>
</span><span id="line-1243"></span><span class="hs-comment">--</span><span>
</span><span id="line-1244"></span><span class="hs-comment">-- I.e. y = integerRecipMod# x m</span><span>
</span><span id="line-1245"></span><span class="hs-comment">--        = x^(-1) `mod` m</span><span>
</span><span id="line-1246"></span><span class="hs-comment">--</span><span>
</span><span id="line-1247"></span><span class="hs-comment">-- with 0 &lt; y &lt; |m|</span><span>
</span><span id="line-1248"></span><span class="hs-comment">--</span><span>
</span><span id="line-1249"></span><span class="annot"><a href="GHC.Num.Integer.html#integerRecipMod%23"><span class="hs-identifier hs-type">integerRecipMod#</span></a></span><span>
</span><span id="line-1250"></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-1251"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span>
</span><span id="line-1252"></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1253"></span><span id="integerRecipMod%23"><span class="annot"><span class="annottext">integerRecipMod# :: Integer -&gt; Natural -&gt; (# Natural | () #)
</span><a href="GHC.Num.Integer.html#integerRecipMod%23"><span class="hs-identifier hs-var hs-var">integerRecipMod#</span></a></span></span><span> </span><span id="local-6989586621679034626"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034626"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621679034625"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034625"><span class="hs-identifier hs-var">m</span></a></span></span><span>
</span><span id="line-1254"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsZero"><span class="hs-identifier hs-var">integerIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034626"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1255"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalIsZero"><span class="hs-identifier hs-var">naturalIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034625"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1256"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalIsOne"><span class="hs-identifier hs-var">naturalIsOne</span></a></span><span>  </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034625"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1257"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Natural -&gt; (# Natural | () #)
</span><a href="GHC.Num.Backend.GMP.html#integer_recip_mod"><span class="hs-identifier hs-var">Backend.integer_recip_mod</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034626"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034625"><span class="hs-identifier hs-var">m</span></a></span><span>
</span><span id="line-1258"></span><span>
</span><span id="line-1259"></span><span>
</span><span id="line-1260"></span><span class="hs-comment">-- | Computes the modular exponentiation.</span><span>
</span><span id="line-1261"></span><span class="hs-comment">--</span><span>
</span><span id="line-1262"></span><span class="hs-comment">-- I.e. y = integer_powmod b e m</span><span>
</span><span id="line-1263"></span><span class="hs-comment">--        = b^e `mod` m</span><span>
</span><span id="line-1264"></span><span class="hs-comment">--</span><span>
</span><span id="line-1265"></span><span class="hs-comment">-- with 0 &lt;= y &lt; abs m</span><span>
</span><span id="line-1266"></span><span class="hs-comment">--</span><span>
</span><span id="line-1267"></span><span class="hs-comment">-- If e is negative, we use `integerRecipMod#` to try to find a modular</span><span>
</span><span id="line-1268"></span><span class="hs-comment">-- multiplicative inverse (which may not exist).</span><span>
</span><span id="line-1269"></span><span class="annot"><a href="GHC.Num.Integer.html#integerPowMod%23"><span class="hs-identifier hs-type">integerPowMod#</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><a href="GHC.Num.Natural.html#Natural"><span class="hs-identifier hs-type">Natural</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1270"></span><span id="integerPowMod%23"><span class="annot"><span class="annottext">integerPowMod# :: Integer -&gt; Integer -&gt; Natural -&gt; (# Natural | () #)
</span><a href="GHC.Num.Integer.html#integerPowMod%23"><span class="hs-identifier hs-var hs-var">integerPowMod#</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034620"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034620"><span class="hs-identifier hs-var">b</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034619"><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034619"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621679034618"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034618"><span class="hs-identifier hs-var">m</span></a></span></span><span>
</span><span id="line-1271"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalIsZero"><span class="hs-identifier hs-var">naturalIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034618"><span class="hs-identifier hs-var">m</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1272"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Natural -&gt; Bool
</span><a href="GHC.Num.Natural.html#naturalIsOne"><span class="hs-identifier hs-var">naturalIsOne</span></a></span><span>  </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034618"><span class="hs-identifier hs-var">m</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="GHC.Num.Natural.html#naturalZero"><span class="hs-identifier hs-var">naturalZero</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1273"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsZero"><span class="hs-identifier hs-var">integerIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034619"><span class="hs-identifier hs-var">e</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="GHC.Num.Natural.html#naturalOne"><span class="hs-identifier hs-var">naturalOne</span></a></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1274"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsZero"><span class="hs-identifier hs-var">integerIsZero</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034620"><span class="hs-identifier hs-var">b</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="GHC.Num.Natural.html#naturalZero"><span class="hs-identifier hs-var">naturalZero</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1275"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsOne"><span class="hs-identifier hs-var">integerIsOne</span></a></span><span>  </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034620"><span class="hs-identifier hs-var">b</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="GHC.Num.Natural.html#naturalOne"><span class="hs-identifier hs-var">naturalOne</span></a></span><span>  </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1276"></span><span>     </span><span class="hs-comment">-- when the exponent is negative, try to find the modular multiplicative</span><span>
</span><span id="line-1277"></span><span>     </span><span class="hs-comment">-- inverse and use it instead</span><span>
</span><span id="line-1278"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Bool
</span><a href="GHC.Num.Integer.html#integerIsNegative"><span class="hs-identifier hs-var">integerIsNegative</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034619"><span class="hs-identifier hs-var">e</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Natural -&gt; (# Natural | () #)
</span><a href="GHC.Num.Integer.html#integerRecipMod%23"><span class="hs-identifier hs-var">integerRecipMod#</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034620"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034618"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1279"></span><span>      </span><span class="hs-special">(#</span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(#</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1280"></span><span>      </span><span class="hs-special">(#</span><span> </span><span id="local-6989586621679034616"><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034616"><span class="hs-identifier hs-var">b'</span></a></span></span><span> </span><span class="hs-glyph">|</span><span>    </span><span class="hs-special">#)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Natural -&gt; (# Natural | () #)
</span><a href="GHC.Num.Integer.html#integerPowMod%23"><span class="hs-identifier hs-var">integerPowMod#</span></a></span><span>
</span><span id="line-1281"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Natural -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerFromNatural"><span class="hs-identifier hs-var">integerFromNatural</span></a></span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034616"><span class="hs-identifier hs-var">b'</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1282"></span><span>                        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Integer
</span><a href="GHC.Num.Integer.html#integerNegate"><span class="hs-identifier hs-var">integerNegate</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034619"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1283"></span><span>                        </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034618"><span class="hs-identifier hs-var">m</span></a></span><span>
</span><span id="line-1284"></span><span>
</span><span id="line-1285"></span><span>     </span><span class="hs-comment">-- e &gt; 0 by cases above</span><span>
</span><span id="line-1286"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#True"><span class="hs-identifier hs-var">True</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(#</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Natural -&gt; Natural -&gt; Natural
</span><a href="GHC.Num.Backend.GMP.html#integer_powmod"><span class="hs-identifier hs-var">Backend.integer_powmod</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034620"><span class="hs-identifier hs-var">b</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer -&gt; Natural
</span><a href="GHC.Num.Integer.html#integerToNatural"><span class="hs-identifier hs-var">integerToNatural</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><a href="#local-6989586621679034619"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Natural
</span><a href="#local-6989586621679034618"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">#)</span><span>
</span><span id="line-1287"></span></pre></body></html>